【问题标题】:How to draw on bitmap using another bitmap as mask?如何使用另一个位图作为蒙版在位图上绘制?
【发布时间】:2013-07-24 00:18:46
【问题描述】:

我想在一个位图上绘制,使用另一个位图作为掩码。蒙版是一个黑色位图,其中有一个透明对象。我希望这个透明部分填充任意颜色并添加到我的原始图像中。如何做到这一点?

+

+ 蓝色 =

【问题讨论】:

  • 你有任何选择/可能改变面具吗?例如在透明背景上使用白色物体?那么你可以在遮罩和蓝色之间使用某种乘法
  • 无论哪种情况,本指南都可以帮助您做您想做的事情kevindion.com/2011/01/android-bitmap-blending-color-channels
  • 是的,我相信我可以更换面具。提供的链接太棒了!谢谢!

标签: android mask porter-duff


【解决方案1】:

我不得不按照@Christian 的描述更换面具。然后,可以很容易地产生想要的结果:

canvas.drawRect(rect, paint);
paint.setXfermode(new PorterDuffXfermode(Mode.DST_IN));
canvas.drawBitmap(mask, 0.0f, 0.0f, paint);

【讨论】:

    【解决方案2】:

    如果您将其设置为 ImageView,一种快速的方法是将背景设置为渐变可绘制对象,并将具有透明背景的蓝色“T”作为 ImageView 的源。不花哨,但又快又简单!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      相关资源
      最近更新 更多