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

Luc*_*uca 1 c# wpf resize bitmapimage

这是续集

数据契约序列化/图像序列化

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

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

编辑: 在此处输入图片说明

Cle*_*ens 6

您可以将 aTransformedBitmap与适当的一起使用ScaleTransform

BitmapImage sourceBitmap = ...
var targetBitmap = new TransformedBitmap(sourceBitmap, new ScaleTransform(0.5, 0.5));
Run Code Online (Sandbox Code Playgroud)

结果是一个 TransformedBitmap,而不是一个 BitmapImage。但是,这应该无关紧要,因为在您的应用程序中应该不需要只处理 BitmapImages。使用基类BitmapSource甚至ImageSource. 例如,Source图像控件的属性是类型ImageSource

  • `targetBitmap` 应该是 `BitmapSource` 类型,而不是 `BitmapImage`。 (3认同)