WPF图像格式可以通过我们的需求进行各种转换。那么在编码转换中,我们要如何正确的处理呢?对于初学者来说可能不太好理解。#t#
- var imageStreamSource =
File.OpenRead(@"r:\1\24.bmp"); - var decoder = BitmapDecoder.
Create(imageStreamSource, Bitmap
CreateOptions.PreservePixelFormat,
BitmapCacheOption.Default); - var bitmapFrame = decoder.Frames[0];
- //在界面上显示图片
- //image1.Source = bitmapFrame;
- var encoder = new JpegBitmapEncoder();
- encoder.Frames.Add(bitmapFrame);
- encoder.Save(File.Create(@"r:\1\3.jpg"));
这个功能非常简单,就是把一个bmp格式的图片转换为了一个jpg格式的图片。这个示例也显示了WPF图像格式处理的基本方式:
1、从解码器(xxxDecoder)中获取图像信息
创建解码器后,图像信息就保存在Frames(虽然大部分图像(jpg,bmp,png等)只有一帧,但GIF,ico等图像有多帧)属性中了。
2、用编码器(xxxEncoder)保持图像信息
相应的,WPF图像格式编码时只要创建编码器,并设置相应的帧即可。