TransformedBitmap到BitmapImage

时间:2015-10-07 10:57:27

标签: c# wpf bitmapimage rotatetransform

我有一个Observable BitmapImage类型集合,其中我存储了一些图像,这个集合绑定到UI。

现在问题是,我想对这些图像进行更改,例如旋转。 现在为了旋转,我必须从BitmapImages中制作一个TransformedBitmap,这不是问题。

当我完成后,我想将它们放回集合中,这就是问题所在。

  

无法将类型'System.Windows.Media.Imaging.TransformedBitmap'隐式转换为'System.Windows.Media.Imaging.BitmapImage

我已经搜索了很长时间,并且无法找到解决此问题的方法。

问题:如何将TransformedBitmap转换回BitmapImage?

1 个答案:

答案 0 :(得分:0)

为了在UI中绑定Image控件的Source属性,使用BitmapSource(甚至ImageSource)作为ObservableCollection的元素类型就足够了。

然后,您可以添加任何派生的位图类型:

public ObservableCollection<BitmapSource> Bitmaps { get; set; }
...
Bitmaps.Add(new BitmapImage(new Uri(...)));
Bitmaps.Add(new TransformedBitmap(Bitmaps[0], new RotateTransform(90)));