我发现使用BmpBitmapEncoder渲染任何类型的图像都是有效的,我唯一需要做的就是在文件中发送正确的格式,如下例所示:
BmpBitmapEncoder encoder = new BmpBitmapEncoder();;
encoder.Frames.Add(BitmapFrame.Create(renderer));
using (System.IO.FileStream fs = System.IO.File.Open("file.png", System.IO.FileMode.OpenOrCreate))
{
encoder.Save(fs);
}
因此,正如您所看到的,图像的名称是“file.png”,这可以正常工作,它将图像保存为PNG(也适用于jpeg,tiff,gif),并且可以加载任何图像处理应用程序
我只是想知道这与为每种类型(PngBitmapEncoder,JpegBitmapEncoder,GifBitmapEncoder等)使用正确的编码器有何不同。
谢谢。
答案 0 :(得分:2)
您必须使用正确的编码器PngBitmapEncoder,JpegBitmapEncoder,GifBitmapEncoder。
以这种方式保存的文件始终是BMP!
您的测试中发生的情况是您正在使用的图像处理应用程序忽略扩展并将实际文件格式识别为BMP。