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

How to resize a BitmapImage from another BitmapImage in memory and not on filesystem

这是

的延续

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

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

编辑:

您可以使用 TransformedBitmap 和适当的 ScaleTransform:

BitmapImage sourceBitmap = ...
var targetBitmap = new TransformedBitmap(sourceBitmap, new ScaleTransform(0.5, 0.5));

结果是 TransformedBitmap,而不是 BitmapImage。然而,这应该无关紧要,因为在您的应用程序中应该没有必要只处理 BitmapImages。使用基础 类 BitmapSource 甚至 ImageSource 来完成所有与图像相关的事情应该就足够了。例如。图像控件的 Source 属性 类型为 ImageSource.