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

时间:2013-03-07 17:06:45

标签: android bitmap region

我有一个位图对象。

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

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

怎么做?任何帮助......

我正在使用android api-level 8 ..

1 个答案:

答案 0 :(得分:4)

您可以使用mBitmap.setPixel (100,100,Color.TRANSPARENT);简单地使像素透明,因此基本思路是迭代所有像素以使其透明,但如果您必须迭代太多像素,则可能会很慢。 / p>

您可以使用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

希望这会给你一些提示。