WPF图像格式如何转换

WPF图像格式可以通过我们的需求进行各种转换。那么在编码转换中,我们要如何正确的处理呢?对于初学者来说可能不太好理解。#t#

  1. var imageStreamSource = 
    File.OpenRead(@"r:\1\24.bmp");   
  2. var decoder = BitmapDecoder.
    Create(imageStreamSource, Bitmap
    CreateOptions.PreservePixelFormat, 
    BitmapCacheOption.Default);   
  3. var bitmapFrame = decoder.Frames[0];   
  4. //在界面上显示图片   
  5. //image1.Source = bitmapFrame;   
  6. var encoder = new JpegBitmapEncoder();   
  7. encoder.Frames.Add(bitmapFrame);   
  8. encoder.Save(File.Create(@"r:\1\3.jpg"));  

 

这个功能非常简单,就是把一个bmp格式的图片转换为了一个jpg格式的图片。这个示例也显示了WPF图像格式处理的基本方式:

1、从解码器(xxxDecoder)中获取图像信息

创建解码器后,图像信息就保存在Frames(虽然大部分图像(jpg,bmp,png等)只有一帧,但GIF,ico等图像有多帧)属性中了。

2、用编码器(xxxEncoder)保持图像信息

相应的,WPF图像格式编码时只要创建编码器,并设置相应的帧即可。

THE END