2009-02-02 95 views
2

我正在玩耍,並嘗試爲我的孩子製作一本着色書,我有許多黑白線條畫作爲背景,以便他們可以在上面畫畫。如何使用圖形對象上的顏色填充區域的邊界?

現在,我想添加一個FILL函數,以便它們可以指向並點擊繪圖中白色的地方,然後讓該函數用顏色填充其邊界內的整個區域。

通過發送X,Y和爲邊界定義的顏色並從中獲取一個區域,將會很好。然後它只是要做e.Graphics.FillRegion(刷子,區域)來填充它的顏色。

但是我找不到任何允許我這樣做的功能,而且我認爲自己追查邊界太多了。

我是否遺漏了system.drawing類中的某個函數,或者您有其他想法嗎?

任何其他的着色書程序的想法也很有趣。 (我使程序安全,因此您可以將孩子留在電腦前,而不會害怕孩子訪問電腦上的任何其他物品,並在選擇顏色時有不同的有趣聲音等)

回答

1

如果「邊界」由不同顏色的像素定義,而不是數學公式或Path數據結構,則必須測試並填充單個像素。有一篇關於如何在Code Project上填充.Net的文章。

1

調查洪水填充方法。維基百科擁有大量有關該主題的信息here