TransformedBitmap 到 BitmapImage
TransformedBitmap to BitmapImage
我有一个 BitmapImage 类型的 Observable Collection,我在其中存储了一些图像,这个 collection 绑定到 UI。
现在的问题是,我想对这些图片做些改动,比如旋转。
现在为了旋转,我必须从 BitmapImages 中创建一个 TransformedBitmap,这不是问题所在。
完成后,我想将它们放回collection,问题来了。
Cannot implicitly convert type 'System.Windows.Media.Imaging.TransformedBitmap' to 'System.Windows.Media.Imaging.BitmapImage
我找了很久都没有找到解决这个问题的方法。
问题:如何将 TransformedBitmap 转换回 BitmapImage?
要在 UI 中绑定图像控件的 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)));
我有一个 BitmapImage 类型的 Observable Collection,我在其中存储了一些图像,这个 collection 绑定到 UI。
现在的问题是,我想对这些图片做些改动,比如旋转。 现在为了旋转,我必须从 BitmapImages 中创建一个 TransformedBitmap,这不是问题所在。
完成后,我想将它们放回collection,问题来了。
Cannot implicitly convert type 'System.Windows.Media.Imaging.TransformedBitmap' to 'System.Windows.Media.Imaging.BitmapImage
我找了很久都没有找到解决这个问题的方法。
问题:如何将 TransformedBitmap 转换回 BitmapImage?
要在 UI 中绑定图像控件的 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)));