当前位置:首页 > 芯闻号 > 充电吧
[导读]ProterDuff.Mode.clear网上基本翻译为 所绘制不会提交到画布上其实ProterDuff.Mode.clear个人理解是清屏幕的意思来个例子                image=

ProterDuff.Mode.clear网上基本翻译为 所绘制不会提交到画布上

其实ProterDuff.Mode.clear个人理解是清屏幕的意思

来个例子


                image=(ImageView) this.findViewById(R.id.img);
		WindowManager manager= (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);
		DisplayMetrics dm=new DisplayMetrics();
		manager.getDefaultDisplay().getMetrics(dm);
		Bitmap bitmap = Bitmap.createBitmap(dm.widthPixels, dm.heightPixels, Config.ARGB_8888);
		Canvas canvas=new Canvas(bitmap);
		Paint mPatint=new Paint(Paint.ANTI_ALIAS_FLAG);
		mPatint.setColor(Color.RED);
		canvas.drawRect(new Rect(0, 0, dm.widthPixels, dm.heightPixels), mPatint);
		//canvas.drawColor(Color.TRANSPARENT,Mode.CLEAR);
		image.setBackground(new BitmapDrawable(this.getResources(),bitmap));



绘制一个和屏幕相同大小的矩形 颜色为红色

那么我这时候想把canvas这个画布清屏应该怎么操作呢?

方法一:

直接去掉注释


canvas.drawColor(Color.TRANSPARENT,Mode.CLEAR);


意思为把画布清空


方法二:
还有另外一种解决办法:



                mCanvas.drawColor(Color.TRANSPARENT);
		mPaint.setXfermode(new PorterDuffXfermode(Mode.CLEAR));清屏
		mCanvas.drawPaint(mPaint);作用于画布上
		mPaint.setXfermode(new PorterDuffXfermode(Mode.SRC));下次绘制的东西在最上层
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭