几种常用WPF图像处理方法介绍

开发 开发工具
WPF图像处理的方法有很多种,主要包括:缩放、裁切和旋转等等。我们以一段代码示例,来方便大家劣迹这些处理方法。

WPF图像处理在试驾开发中是非常有用的一个工具。开发人员可以通过WPF图像处理简单的实现精美的图形界面显示功能。这里就为大家简单介绍一下。#t#

常用的WPF图像处理包括缩放、裁切和旋转等,如下是一个将图像旋转90度的例子。

 

  1. var imageStreamSource = 
    File.OpenRead(@"r:\1\24.bmp");   
  2. var decoder = BitmapDecoder.Create
    (imageStreamSource, BitmapCreate
    Options.PreservePixelFormat, 
    BitmapCacheOption.Default);   
  3. var bitmapFrame = decoder.Frames[0];   
  4. TransformedBitmap myRotated
    BitmapSource
     = new TransformedBitmap();   
  5. myRotatedBitmapSource.BeginInit();   
  6. myRotatedBitmapSource.Source = 
    bitmapFrame;   
  7. // 旋转90度   
  8. myRotatedBitmapSource.Transform = 
    new RotateTransform(90);   
  9. myRotatedBitmapSource.EndInit();   
  10. //旋转   
  11. var rotate = new RotateTransform(90);  
  12. var rotatedBitMap = new Trans
    formedBitmap(bitmapFrame, rotate);   
  13. image1.Source = rotatedBitMap;   
  14. ////裁剪  
  15. //CroppedBitmap chainedBitMap = 
    new CroppedBitmap(bitmapFrame,
    new Int32Rect(100, 0, (int)bitmap
    Frame.Width - 100, (int)bitmap
    Frame.Height));   
  16. ////缩放  
  17. //var scare = new ScaleTransform
    (1.5, 2);  
  18. //var scaredBitMap = new Trans
    formedBitmap(bitmapFrame, scare);   
  19. var encoder = new JpegBitmapEncoder();  
  20. encoder.Frames.Add(BitmapFrame.
    Create(rotatedBitMap));  
  21. //encoder.Frames.Add(BitmapFrame.
    Create(scaredBitMap));  
  22. //encoder.Frames.Add(BitmapFrame.
    Create(chainedBitMap));  
  23. encoder.Save(File.Create
    (@"r:\1\3.jpg"));  

 

和上面的WPF图像处理例子相比,这里就是多了一个TransformedBitmap变换,其实这和xaml中的变换时一样的。

 

  1. < Image Width="150" Margin="5" 
    Grid.Column="0" Grid.Row="1">   
  2. < Image.Source>   
  3. < TransformedBitmap Source="
    /sampleImages/watermelon.jpg"
     >   
  4. < TransformedBitmap.Transform>   
  5. < RotateTransform Angle="90"/>   
  6. < /TransformedBitmap.Transform>   
  7. < /TransformedBitmap>   
  8. < /Image.Source>   
  9. < /Image>  

 

其它变换也都可以参照xaml中WPF图像处理方式进行,这里就不过多介绍了。

责任编辑:曹凯 来源: 博客园
相关推荐

2009-12-23 16:06:46

WPF事件策略

2009-12-25 10:05:06

WPF资源

2009-12-24 14:18:57

WPF类型转换

2009-12-23 18:06:25

WPF模板

2013-04-22 13:57:15

Android图像特效

2024-01-04 17:00:59

2009-12-28 11:14:29

WPF显示文本

2009-12-24 09:56:29

WPF图像API

2009-12-23 14:19:07

WPF单向绑定

2009-12-28 15:39:33

WPF滑动条

2009-12-25 16:10:31

WPF内存

2009-12-25 17:10:51

WPF动态资源

2009-12-23 14:49:46

WPF面板

2009-12-15 11:31:53

Ruby self

2010-01-11 14:06:14

VB.NET时间函数

2010-03-11 10:10:40

2022-06-13 08:30:01

数据库管理系统

2009-12-24 14:38:52

WPF全屏幕窗口

2009-12-24 15:22:10

WPF继承自定义窗口

2009-12-28 13:47:35

WPF对话框
点赞
收藏

51CTO技术栈公众号