我知道如何在C#中使图像控件透明,但有没有办法让图像(.jpeg文件,而不是图像控件)透明? 或者,当我使图像控件透明时,是否有办法创建新图像,将其保存在某个路径中并为其提供其他图像控件的内容?
答案 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。如果您想在控件上显示图像,那就是您所需要的。