1.第一次用canvas绘制的为Dst层 第二次为Src
图片圆角效果:
private void innitView() { bmp = BitmapFactory.decodeResource(getResources(), R.drawable.test2); out = Bitmap.createBitmap(bmp.getWidth(), bmp.getHeight(), Config.ARGB_8888); Canvas canvas = new Canvas(out); //使用canvas进行绘图 所有操作结果将直接作用在out上 paint = new Paint(Paint.ANTI_ALIAS_FLAG); canvas.drawRoundRect(new RectF(0, 0, bmp.getWidth(), bmp.getHeight()),25,25,paint); //绘制一个圆角矩形 paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN)); //为画笔增加Xfermode效果 canvas.drawBitmap(bmp, 0, 0, paint); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); canvas.drawBitmap(out, 0,0, null); //将带有效果的out图绘制出来 }