我有一个位图,我正在从中切出一个 multipi 点多边形。我很好奇获取任意形状内的像素并将它们复制到其余像素透明的新位图的正确过程是什么。目的是让用户追踪形状,然后移除多边形之外的所有内容。
我已经计算出多边形部分(作为一个点数组),但现在对如何仅将选定的像素传输到新的位图感到困惑。
TIA
最佳答案
不确定你的代码是如何工作的,但这里有一个关于如何做到这一点的想法:
- 计算所选区域的边界矩形(根据您的点找到最小 x、最小 y、最大 x 和最大 y)。
- 使用任何
Bitmap
或Canvas
方法将图像裁剪到边界矩形。 - 创建
Path
从你的点,全部移动到你的新位图中(x-=minX, y-=minY)
; - 设置路径
FillType
到一个相反的(填充外部)。 - 在新裁剪的 Canvas 上,使用 Xfermode 为
PorterDuff.CLEAR
的颜料绘制路径,它会移除所有颜色。
关于android - 从 Bitmap 中剪切多点 ploygon 并将其置于透明状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8993292/