如何从内存中的另一个BitmapImage调整BitmapImage的大小,而不是在文件系统上

时间:2016-02-29 14:11:44

标签: c# wpf resize bitmapimage

这是

的延续
  

Datacontract serialization/serialization with images

所以现在我有一个来自流的BitmapImage。简而言之就是一个BitmapImage 我想将其调整到所需的大小。

我找到了大量关于如何从文件系统上的图像调整大小的代码,但没有关于如何从已经存在的BitmapImage重新调整大小的代码

编辑: enter image description here

1 个答案:

答案 0 :(得分:2)

您可以将TransformedBitmap与适当的ScaleTransform

一起使用
BitmapImage sourceBitmap = ...
var targetBitmap = new TransformedBitmap(sourceBitmap, new ScaleTransform(0.5, 0.5));

结果是TransformedBitmap,而不是BitmapImage。但是,这不重要,因为在您的应用程序中,不应该只处理BitmapImages。使用基类BitmapSource甚至ImageSource完成所有与图像相关的内容应该足够了。例如。 Image控件的Source属性的类型为ImageSource