android图形图像处理PorterDuffXfermode

设置两张图片重叠的模式。 在正常的情况下,在已有的图像上绘图将会在其上面添加一层新的形状。如果新的Paint是完全不透明的,那么它将完全遮挡住下面的Paint;如果它是部分透明的,,那么它将会被染上下面的颜色。 而setXfermode就可以来解决这个问题 .

举例

重叠的图层使用BitmapCanvas画布。。注意下面

{private int width;private int height;private Paint paintCircle;private Paint paintRect;private Bitmap bitmap;private Canvas bitmapCanvas;public MyBitmapView2(Context context, AttributeSet attrs) {super(context, attrs);paintCircle = new Paint();paintRect = new Paint();paintRect.setColor(Color.GREEN);paintCircle.setColor(Color.YELLOW);//设置画笔图层在上PorterDuffXfermode mode = new PorterDuffXfermode(PorterDuff.Mode.DST_OVER);paintRect.setXfermode(mode);}(int widthMeasureSpec, int heightMeasureSpec) {super.onMeasure(widthMeasureSpec, heightMeasureSpec);width = getDefaultSize(getSuggestedMinimumWidth(), widthMeasureSpec);height = getDefaultSize(getSuggestedMinimumHeight(), heightMeasureSpec);setMeasuredDimension(width, height);bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);bitmapCanvas = new Canvas(bitmap);//bitmap画布}(Canvas canvas) {super.onDraw(canvas);canvas.drawColor(Color.RED);bitmapCanvas.drawCircle(width / 2, height / 2, width / 2, paintCircle);bitmapCanvas.drawRect(0, 0, width / 2, width / 2, paintRect);canvas.drawBitmap(bitmap, 0, 0, null);}}

可是我要如何在浅薄的纸上为你画上我所有的命轮?

android图形图像处理PorterDuffXfermode

相关文章:

你感兴趣的文章:

标签云: