[爆卦]小畫家 油漆桶是什麼?優點缺點精華區懶人包

為什麼這篇小畫家 油漆桶鄉民發文收入到精華區:因為在小畫家 油漆桶這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者AZHI (songs)看板C_Sharp標題[問題] 小畫家油漆桶功能時間Sat Sep 7...

小畫家 油漆桶 在 啾啾鞋 Instagram 的最讚貼文

2020-11-02 06:08:52

自從我用了「呂 滋養韌髮洗髮精」,我考試都考...(誤 自從用了這款洗髮精以後 感覺整個頭髮變得更強韌、光澤感也更好了 (終於不會再被別人說我影片裡頭髮都像小畫家油漆桶填純黑色了... 現在有很多所謂的「咖啡因洗髮精」 在洗髮精裡添加咖啡因可以讓頭髮更強健 但是咖啡因的溶解度才是頭皮吸收的真正關鍵...



請問小畫家中的油漆桶

填滿顏色的功能該如何使用


看過板上的一些文章

但還是找不到解答

請教板上大大幫忙解答 感謝

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.244.25.54
※ 編輯: AZHI 來自: 60.244.25.54 (09/07 01:11)
kangkangtm:Connected Component 09/07 23:40
as0:Flood Fill 09/08 10:13
AZHI:請問a大 我是用Picturebox來繪圖 可以達到判斷顏色這個功能 09/08 11:20

現在想先利用油漆桶填滿整個Picturebox

程式碼如下
private void flood(int x, int y)//油漆桶mouse_move所使用
{
Rectangle rect2 = new Rectangle(x, y, 5, 5);
if (x >= 0 && x < width && y >= 0 && y < height)
{
g.FillEllipse(pencil, rect2);
flood(x + 1, y);
flood(x - 1, y);
flood(x, y + 1);
flood(x, y - 5);
}

}

下面四個flood遞迴函式如果只用其中一個 可以填滿picturebox的 一直線的顏色

像是這樣

if (x >= 0 && x < width && y >= 0 && y < height)
{
g.FillEllipse(pencil, rect2);
flood(x + 1, y);
}

如果flood函式放一個以上

就會進入無線迴圈的情況...
※ 編輯: AZHI 來自: 60.244.25.54 (09/08 13:03)
Abbee:點下去後,應記住那點顏色,再往四角度擴張,遇到不同色要 09/08 16:14
Abbee:停止 09/08 16:14
Abbee:沒有設停止條件,會讓迴圈在區域內來回跑不停 09/08 16:17
我後來設了停止條件

if (color == original_color)
{
g.FillEllipse(pencil, rect2);
Draw.FillEllipse(pencil, rect2);
flood(x + 1, y, fill_color, original_color);
flood(x - 1, y, fill_color, original_color);
flood(x, y + 1, fill_color, original_color);
flood(x, y - 1, fill_color, original_color);
}

如果單跑一個flood函式(往右方擴張) 是可以的
但是往四方 或兩個方向以上 就會跑入無線迴圈...
※ 編輯: AZHI 來自: 60.244.25.54 (09/08 20:33)
Litfal:你最後一塊code的的color是怎麼取得的? 09/09 15:51
AZHI:可參考Draw.Imaging~ 09/11 21:40
Abbee:你還是沒判斷要畫的那個點 09/13 07:42

你可能也想看看

搜尋相關網站