如何将硬盘png上的图像转换为透明?

时间:2016-06-27 18:48:38

标签: c# .net winforms gdi+

private void ConvertImagestoTransparent(string filename)
{
    var image = new Bitmap(filename, PixelFormat.Format32bppArgb);
    using (var g = Graphics.FromImage(image))
    {
        g.DrawLine(Pens.Red, 0, 0, 135, 135);
    }
}

这给我一个错误,新的Bitmap没有得到文件名:

  

错误2参数2:无法转换   'System.Drawing.Imaging.PixelFormat'到'bool'

也没有获得Bitmap。

在构造函数中:

DirectoryInfo d = new DirectoryInfo(@"C:\temp\images\");
Files = d.GetFiles("*.png");

是否可以将png图像转换为透明?它会失去质量吗?

1 个答案:

答案 0 :(得分:0)

您使用的Bitmap构造函数仅用于加载现有图像。如果您想创建一个,那么您需要使用this one,如下所示:

var image = new Bitmap(theWidth, theHeight, PixelFormat.Format32bppArgb);

然后,您可以将图像保存为如下文件:

image.Save(filename);

对于第二个问题,“将png图像转换为透明”是什么意思?是否要从图像中删除背景颜色?