使用蒙版创建ImageView

时间:2011-12-28 14:29:25

标签: android

我关注了该主题的其他一些问题,以及XferModes上的API演示,并尝试创建一个根据alpha掩码屏蔽其内容的ImageView。 alpha位图包含要隐藏区域的0 alpha和要显示区域的255 alpha。

这是onDraw代码:

@Override
protected void onDraw(Canvas canvas)
{
    super.onDraw(canvas);

    Paint paint = new Paint();
    paint.setFilterBitmap(false);
    paint.setXfermode(new PorterDuffXfermode(Mode.DST_IN));

    canvas.drawBitmap(mMaskBitmap, 0, 0, paint);
    paint.setXfermode(null);

它对我不起作用。如果我放置SRC_IN,掩码就会被绘制在顶部。如果我把DST IN,我只看到原始图像。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

问题解决了,我发现ImageView和掩码位图的大小有4个像素的差异,这导致整个事情无声地发生故障......奇怪的是没有异常抛出。

无论如何,只要掩码大小< = ImageView大小。

,上面的代码就可以工作