2010-07-17 33 views
0

如何使用.Net GDI +或API調用將像素的Alpha通道設置爲零? 我怎樣才能設置透明的形狀區域(例如,有一個「擦除」畫筆和使用它與FillEllipse()或FillRectangle()方法)?使用.Net GDI +擦除像素+

謝謝。

+0

「擦除」畫筆?你是否打算使用這個「擦除」畫筆將像素恢復到較早的顏色?這是不可能的。您將不得不實施類似於Photoshop圖層的技術。用透明(alpha =零)筆刷填充將不起作用。 – 2010-07-17 15:16:50

回答

2

您可以使用由顏色製成的畫筆,顏色的alpha值爲0(Color.FromArgb)。由於RGB值並不重要,所以您最好使用Brushes.Transparent。通過用Graphics.FillRectangle()繪製1x1的矩形,使單個像素透明。

Bitmap.MakeTransparent()是快速使任意背景顏色透明的另一種方法。

0

它很容易。將Graphics對象的CompostingMode設置爲SourceCopy,並使用具有完全透明度(alpha分量爲0)的顏色創建的Brush來使用Fill函數。