0

我想编写一个算法,允许我在绘图的定界区域中填充颜色。我给你看一个例子:

在此处输入图像描述

在此处输入图像描述

开始这个算法的方法是什么?我在哪里可以采取行动来实现这个功能?或者有什么做的吗?

谢谢

4

1 回答 1

0

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
于 2013-02-27T11:29:46.180 回答