我有一個圖像被創建並手動保存爲一個文件,該文件具有圖像中透明的形狀(例如心臟),並且圖像的其餘部分有其他顏色。如何在.NET中以編程方式使用指定顏色製作透明形狀,而不改變圖像的其餘部分?如何在.NET中以編程方式對圖像的透明部分着色
例如,提供的是一個圖像,我想用一種顏色填充透明部分。
http://www.sendspace.com/file/an53a1
我有一個圖像被創建並手動保存爲一個文件,該文件具有圖像中透明的形狀(例如心臟),並且圖像的其餘部分有其他顏色。如何在.NET中以編程方式使用指定顏色製作透明形狀,而不改變圖像的其餘部分?如何在.NET中以編程方式對圖像的透明部分着色
例如,提供的是一個圖像,我想用一種顏色填充透明部分。
http://www.sendspace.com/file/an53a1
你需要的是一個洪水填充算法。 請看看這個:
http://www.codeproject.com/KB/GDI-plus/floodfillincsharp.aspx
它是透明的。所以先用Graphics.Clear()然後用Graphics.DrawImage()繪製圖像,然後用你想要的顏色繪製背景。
用這種方法,他將填補是透明的......他的需求並不好,如果你下載的圖片你會本身,要麼出的所有部分它的心是透明的... – 2011-04-10 13:49:11
感謝Hans Passant和MarinoŠimić的建議。有沒有辦法用不同的顏色填充不同的透明部分。例如,心臟內部爲一種顏色,心臟外部爲另一種顏色。 – Pingpong 2011-04-10 14:07:13
蹩腳的託管服務,通行證。好的,使用Graphics.FillRectangle進行背景繪畫。無論使用哪種方式,您當然都必須知道心臟所在的位置。 – 2011-04-10 14:07:46