0

So I'm working on making a program that you can load an image and fill the shapes in the image 3 different colors(The program is for coloring real estate plots different colors. the colors are red, green, yellow.). I can load the image, save it and draw on the picture itself, but my question is; What is the code to fill the whole shape. The shapes are random. I understand there are .FillRectangle and .FillEllipse and what not, but i need one that's a paint bucket tool. Any help would be appreciated.

4

1 回答 1

0

我没有任何功能性 .NET 代码可供您使用,但我可以提供一些想法,因为我从事平面设计多年。

油漆桶工具的工作方式与“魔杖”工具类似。如果您熟悉 Adob​​e Photoshop 中的这些工具,那么您可能知道影响其行为的一些参数。(容差、连续、抗锯齿等)

当您单击图像中的给定像素时,这些工具中的任何一个都必须分析周围的像素以确定相似性。该工具的选项之一控制比较被视为“相似”或“不相似”的阈值。

想象一下,您正在使用黑白(1 位)图像。如果您单击一个白色像素,则可以简单快速地确定该点是否与任何其他白色像素相邻。您将级联比较,直到找不到更多白色像素,然后填充(或选择)该区域。

但是,现在考虑一个 8 位灰度图像。如果单击白色 (255) 像素,则可能有相邻的像素非常亮但不相同(例如值 250-254)。是否应该填充/选择这些相似但不相同的颜色应该基于相似度的阈值。

JPG 图像采用有损压缩算法,该算法会在其他相似的颜色上引入细微的变化。这会导致使用低容差值无法很好地填充或选择的“模糊”区域。您将希望允许与原始像素的偏差有限,以获得所需的效果。

于 2012-10-30T17:41:03.700 回答