使用GDI +创建具有透明背景的图像?

Jul*_*lin 24 c# asp.net gdi+

我正在尝试创建一个透明背景的图像,以显示在网页上.
我尝试了几种技术,但背景总是黑色的.
如何创建透明图像然后在其上绘制一些线条?

Ore*_*ost 37

打电话Graphics.Clear(Color.Transparent),清除图像.不要忘记使用具有alpha通道的像素格式创建它,例如PixelFormat.Format32bppArgb.像这样:

var image = new Bitmap(135, 135, PixelFormat.Format32bppArgb);
using (var g = Graphics.FromImage(image)) {
    g.Clear(Color.Transparent);
    g.DrawLine(Pens.Red, 0, 0, 135, 135);
}
Run Code Online (Sandbox Code Playgroud)

假设你是using System.DrawingSystem.Drawing.Imaging.

编辑:似乎你实际上并不需要Clear().只需使用Alpha通道创建图像即可创建一个空白(完全透明)图像.

  • *more*与gdi无关.实际上,我正在使用它将图像渲染到ASP.Net页面.问题是我将图像(以png格式)直接保存到响应流中,但这对png不起作用,我必须先将它保存到内存流中. (3认同)