簡體   English   中英

如何在C#中將具有透明截面的圖像繪制到Graphics對象?

[英]How do I draw an image with a transparent section to a Graphics object in C#?

我有一個要繪制並顯示的Graphics對象。 一切正常。 無法正常工作的是繪制帶有透明部分的.png圖像。 我正在通過調用從ImageList控件(如果有任何區別)繪制這些圖像:

myGraphicsObject.DrawImage(myImage, x_position, y_position);

我沒有為.png圖像專門設置任何透明顏色值,也無法在控件中找到為控件指定透明顏色的任何值。

對於圖像本身,我嘗試在所需的透明區域中填充32位(255,0,255),8位(0,0,0)和白色(255,255,255)的透明顏色。 但是,繪制時沒有一個不是透明的。

某處是否有方法告訴圖像對於指定的顏色透明? 還有其他建議/解決方案嗎?

該值在窗體本身上,而不是在控件上,它稱為TransparencyKey ,將其設置為您希望在winforms設計器中透明的顏色,並且與該顏色相等的任何顏色(僅在您的窗體中)都不會呈現。

您的PNG是否在ImageList上正確顯示(透明)? 也許您的ImageList設置為24位RGB? 更改為32位,應該會有所幫助。

暫無
暫無

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

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