【问题标题】:Android: Custom masking 2 bitmaps layered one above the otherAndroid:自定义遮罩 2 个位图,一个在另一个之上
【发布时间】:2012-04-21 18:22:54
【问题描述】:

现在很容易。

我最终想要什么:

我想在一个视图上叠加 2 个位图。与上一张相同的位图比下一张具有更高的亮度。

现在,当用户在上位图上(使用触摸事件(如画笔))进行描边时,我希望上位图的这些部分不可见。

对于那些熟悉 adobe photoshop 的人来说,这可能更有意义: 我想在正在显示的图像上绘制一个蒙版,以便只有未蒙版的部分仍然可见。但面具可以用不同硬度/大小的画笔绘制。

如何实现此功能?引导我进入我应该研究或提供示例代码的行。

另外,是否可以使用具有可变硬度的画笔在图像视图上绘制笔触?我知道我可以在画布上 drawPath 和 drawArc,但我不知道如何实现不同的笔触/样式。

如果我的问题表述不正确,或者找不到类似的重复项,请原谅我。

【问题讨论】:

    标签: android canvas bitmap draw paint


    【解决方案1】:

    您可以使用 FrameLayout 在 Android 中将一张图像叠加在其他图像上,并在 Google 上使用自定义遮罩搜索 FingerPaint。

    【讨论】:

    • 感谢您的回复,但是用手指抚摸等自定义遮罩呢?
    • 表示不以矩形或椭圆等规则图案遮盖图像。用户可以在上面的位图上拖动手指,使其任何部分不可见,就像 Microsoft Paint 中的橡皮擦工具一样。
    【解决方案2】:

    我认为最好的方法是自己进行屏幕外合成,然后使用 ImageView 或可能具有自定义交互的子类来渲染合成图像。有关如何使用 Porter-Duff 传输模式进行此类合成的示例,请参阅 this sample code

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-07
      • 1970-01-01
      • 1970-01-01
      • 2013-03-12
      • 2011-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多