簡體   English   中英

具有透明背景的RadioButtonRenderer

[英]RadioButtonRenderer with Transparent Background

我遇到一種情況,需要向System.Drawing.Image渲染單選按鈕。

System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(20,16);
using (System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitmap))
{                                    
    RadioButtonRenderer.DrawRadioButton(g, new Point(2, 2), RadioButtonState.CheckedPressed);
}
return System.Drawing.Image.FromHbitmap(bitmap.GetHbitmap());

除了將默認的灰色控件繪制為背景之外,此方法均有效。 如何將背景顏色設置為“透明”?

不確定按鈕的外觀如何,但是可以將Bitmap.MakeTransparent方法與灰色配合使用。

如果不喜歡,可以嘗試使用ColorMatrix Class進行更復雜的顏色轉換:

ColorMatrix matrix = new ColorMatrix();

// This will change the image's opacity.
matrix.Matrix33 = 0.5f;

ImageAttributes imgAttrs = new ImageAttributes();
imgAttrs.SetColorMatrix(matrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap);

g.DrawImage(img, new Rectangle(0, 0, 50, 50), 0, 0, 50, 50, GraphicsUnit.Pixel, imgAttrs);

暫無
暫無

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

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