[英]How to make my image transparent?
我知道如何在C#中使图像控件透明,但是有没有办法使图像(.jpeg文件,而不是图像控件)透明? 或者,当我使图像控件透明时,有没有办法创建新图像,将其保存在某个路径中并提供其他图像控件的内容?
JPEG文件不能透明。 但是,如果将其另存为PNG图像,它将具有透明通道。
GIFS还支持透明性,但仅支持完全不透明或完全透明。 两者之间什么都没有。
PNG是IMO的最佳选择。
您可以设置图像控件的不透明度属性以透明方式查看它。 但是要获得具有透明度的图像文件,必须将其渲染为新文件。
这是一个示例,您可以如何做。
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);
}
有属性透明色。 如果要在控件上显示图像,这就是您需要的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.