我想编写一个算法,允许我在绘图的定界区域中填充颜色。我给你看一个例子:
前
后
开始这个算法的方法是什么?我在哪里可以采取行动来实现这个功能?或者有什么做的吗?
谢谢
http://en.wikipedia.org/wiki/Flood_fill浮现在脑海,但我不认为这是最好的答案......
另请注意,如果您使用 microsoft paint 或其他成像软件放大图像,您可能会注意到存在使此技术更加棘手的模糊,理想情况下,此技术适用于更清晰锐利的像素边界。
大多数形状绘制子例程默认情况下允许填充形状,但是您要问的有点棘手。
特别是,我通常会绘制一个填充形状,然后绘制一个与填充形状相同的未填充形状,但边框颜色不同,模拟您想要做的事情。
我的意思是伪代码
setcolor(backgroundcolor);
fillrect(0, 0, width, height);
setcolor(roofcolor);
filltriangle(x1, y1, x2, y2, x3, y3);
setcolor(black);
drawtriangle(x1, y1, x2, y2, x3, y3);
... so on