如何让我的图像透明?

时间:2011-10-20 10:21:55

标签: c# image

我知道如何在C#中使图像控件透明,但有没有办法让图像(.jpeg文件,而不是图像控件)透明? 或者,当我使图像控件透明时,是否有办法创建新图像,将其保存在某个路径中并为其提供其他图像控件的内容?

3 个答案:

答案 0 :(得分:4)

JPEG文件不能透明。但是,如果将其另存为PNG图像,它将具有透明度通道。

GIFS也支持透明度,但只有完全不透明或完全透明。介于两者之间。

PNG是IMO最好的选择。

答案 1 :(得分:1)

您可以设置图像控件的不透明度属性以透明地查看它。 但要获得具有透明度的图像文件,您必须将其渲染到新文件中。

以下是一个如何做到这一点的例子。

Image image = new Image(); //or however you get this
image.Opacity = 0.5;
RenderTargetBitmap bmp = new RenderTargetBitmap(image.Source.Width, image.Source.Height, 96, 96, PixelFormats.Pbgra32);
bmp.Render(image);

PngBitmapEncoder png = new PngBitmapEncoder();
png.Frames.Add(BitmapFrame.Create(bmp));
using (Stream fs= File.Create("test.png"))
{
png.Save(fs);
}

答案 2 :(得分:0)

有属性transparencycolor。如果您想在控件上显示图像,那就是您所需要的。