我想要的是创建一个带有层的矢量绘图程序,但为了避免使用透明度/不透明度,我想从最低层到最高层将每个形状绘制到单个位图上。对于填充,我想对形状进行泛洪填充。我的问题是,如果我有一个绘制的形状,然后填充,那么下一个形状会与它重叠一点,并且新形状的边界与另一个形状的边界相同,那么填充只会部分填充它。有没有一种方法可以给出一个形状的坐标,我可以找到实际的边界,而不是使用目标颜色?谢谢
发布于 2010-05-01 10:17:43
Floodfill不会为你想要的东西工作...除非您执行以下操作之一:
选项1:在内存的其他部分使用填充,然后使用蒙版将形状绘制到您想要的位置,因为您说要避免透明,此选项有点被划掉了……(虽然我仍然推荐它,真的,如果它检查像素是否被复制并不难)
选项2:只使用基本形状,您可以轻松地填充这些形状,而无需使用填充,使用水平线填充它们,起点和终点在形状每条线的两个结束像素之间。那是用来做正方形,圆圈的。
选项3:与选项2相同,但允许任意三角形。
选项4:与选项3相同,但允许您读取点的列表,并使用几个矩形组成对象,因此您可以制作任意形状(甚至凸起的形状)。这真的很难正确实现(特别是凸形)。
https://stackoverflow.com/questions/2748587
复制相似问题