簡體   English   中英

碼頭填充影響洪水填充結果

[英]Dock Fill affects flood fill result

我正在寫一個像MS Paint這樣的繪圖程序。 畫布是一個面板,並放置在另一個面板中,因此我可以使用滾動條。 對於填充操作,我實現了洪水填充算法。 為了存儲圖形,我創建了一個位圖,並在繪制事件時將該位圖繪制到了屏幕上。

如果我按原樣保留畫布的Dock屬性(即:無),它將留下一個未填充的三角形區域。 如果將Dock屬性更改為Fill,該算法將正常運行,但是在這種情況下,我將無法再控制畫布大小。 在這兩種情況下,我的填充算法都沒有碰到畫布(它處理了我之前創建的位圖),Dock如何影響我的填充結果?

以下是簡化的代碼和生成的圖像。 每個程序產生兩個圖像:填充操作之前的位圖和泛洪填充之后的位圖。

https://github.com/01885404983/debug

只要想通了,我的指數計算是錯誤的:而不是使用bmpData.Stride ,我用img.Width ,因此我的代碼訪問的圖像填充,其中包含未初始化的數據。 畫布面板只是偶然地更改了該數據。 另一個錯誤是按顏色字節順序進行的,我使用紅綠色藍色,而實際上是藍綠色紅色。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM