如何在Android中从特定区域的位图中删除绘图



我有一个位图对象。

我有一个Region对象,它代表位图的一小部分;

我想从特定区域的位图对象中删除绘图,并使该部分透明..

怎么做?任何帮助…

我使用android api级别8..

你可以简单地通过使用mBitmap.setPixel (100,100,Color.TRANSPARENT);使像素透明,所以基本的想法是遍历所有像素使其透明,但如果你必须遍历太多像素,它可能会很慢。

您可以使用PorterDuffXferMode使部分透明,

创建一个如下所述的paint对象,并将其传递给画布:

Paint mPaint = new Paint();
mPaint.setXferMode(new PorterDuffXferMode(PorterDuff.Mode.CLEAR));

你可以把它传递给画布,如下所示:

 Canvas c = new Canvas(mBitmap);
 c.drawCircle(cx, cy, radius, paint);

这是为圆,但希望你会得到提示,做自定义区域根据你的需要。

如果它仍然不工作,那么你可能不得不禁用Hardware Acceleration为特定的视图。欲了解更多信息,请参考此Google DOC。

最新更新