2010-11-24 30 views
0

我正在爲有物理限制的兒童設計一本簡單的着色書。 教師將能夠在僅由封閉區域組成的程序中插入圖片。 然後我需要分析圖像並找到所有封閉區域(孩子能夠着色的地方)。 我需要這樣做,因爲所有可以繪製的區域都會一個接一個地發光。 我想我可以通過填充來實現這一點,所以我需要在每個封閉區域內的一個點(X,Y座標)。WPF:查找圖像中的所有封閉區域(C#甚至是VB)

有沒有人做過這樣的事情? 可用的一些提示或源代碼?

非常感謝!

回答

2

我沒有與WPF本身太多的經驗,但我可能會使用這樣的算法:

首先,我假設圖像是黑白嚴格。也就是說,只有純黑色(線條)和純白色(可着色區域)像素。

  1. 將圖像轉換爲真彩色
  2. 檢查左上角的像素。
  3. 如果該像素是白色的,就洪水填充了新的獨特的色彩
  4. 移動一個像素點的權利(如果出界,一個一路向下移動到左)
  5. 轉到3

現在,圖像中的每個區域都有不同的顏色。

+0

非常感謝您的建議。我會嘗試一下,但我不確定這是否足夠快。 – Jackerd 2010-11-25 20:24:08