2010-05-01 92 views
0

我想要的是創建一個具有圖層的矢量繪圖程序,但爲了避免使用透明度/不透明度,我想從最低層到最高層將每個圖形繪製到單個位圖上。爲了填充,我想填充形狀。我的問題是,如果我有一個被填充然後填充的形狀,那麼下一個形狀與它重疊一點,並且新形狀的邊界與另一個形狀的邊界相同,然後填充只會部分填充它。有沒有一種方式給出了一個形狀的座標,我可以找到實際的填充範圍,而不是使用目標顏色? 感謝填充「圖層」

回答

1

Floodfill不會爲你想要的......除非,你做以下的工作之一:

方案1:通過在存儲器的另一部分此時,floodFill,然後使用的blit形狀面具到你想要的地方,因爲你說你想避免透明度,這個選項有點劃掉......(儘管我仍然推薦它,實際上,如果檢查該像素是否是或不被複制)

選項2:僅使用基本的形狀,可以容易地填充而不使用floodfill,用水平線與起始和端點EA的兩個端部的像素之間被填充它們ch的形狀。這將是廣場,圓...

選項3:與選項2相同,但允許任意三角形。選項4:與3相同,但允許您閱讀點的列表,並用多個矩形組成對象,因此您可以製作任意形狀(甚至是凸形)。這將是很難正確實施(特別凸形狀)。