我正在尝试使用此代码绘制多个位图。
Paint paint = new Paint();
Path path = new Path(); // path of crop
for (int i = 0; i < Crop.points.size(); i++) {
path.lineTo(Crop.points.get(i).x, Crop.points.get(i).y);
canvas.drawPath(path, paint);
bitmap1= highlightImage(bitmap1); //bitmap1 drawn completely
canvas.drawBitmap(bitmap1, 0, 0, paint);
paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));// select inside part of crop
canvas.drawBitmap(bitmap2, 0, 0, paint);// draw crop part
highlightImage是一种模糊位图的方法。此画布首先绘制模糊的bitmap1然后绘制bitmap2。
问题是,当我只使用这段代码时:
bitmap1= highlightImage(bitmap1);
canvas.drawBitmap(bitmap1, 0, 0, paint);
bitmap1模糊并正确绘制,但当我使用此
时bitmap1= highlightImage(bitmap1);
canvas.drawBitmap(bitmap1, 0, 0, paint);
paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
canvas.drawBitmap(bitmap2, 0, 0, paint);
绘制了bitmap1,但没有模糊效果。有什么问题? 第一个图像是模糊位图的图像 第二个是绘制两位图的时间。你可以看到它是透明的而没有模糊效果。
[first ][1]
[second ][2]
[what I want][3]