如何从另一个BitmapImage的调整大小的BitmapImage在内存中,而不是在文件系统
问题描述:
这是如何从另一个BitmapImage的调整大小的BitmapImage在内存中,而不是在文件系统
延续所以现在我有一个BitmapImage的从流过来。简而言之,我想将其调整到所需的大小。
我已经找到了如何从图像调整文件系统上的大量代码,但没有就如何从一个已经存在的BitmapImage调整
答
您可以使用带有一个TransformedBitmap
适当ScaleTransform
:
BitmapImage sourceBitmap = ...
var targetBitmap = new TransformedBitmap(sourceBitmap, new ScaleTransform(0.5, 0.5));
结果是一个TransformedBitmap,而不是一个BitmapImage的。但是,这并不重要,因为在您的应用程序中应该不需要仅处理BitmapImages。用基类BitmapSource
甚至ImageSource
来完成所有与图像相关的东西就足够了。例如。 Image控件的Source
属性的类型为ImageSource
。
TransformedBitmap想要一个bitmapSource而不是bitmapImage。它不会生成,并且不允许轻松转换 – Luca
BitmapImage是从BitmapSource派生的。您可以将BitmapImage传递给接受BitmapSource参数的每个方法 – Clemens
请参阅我的add。然后,Tranform可以使用像素而不是百分比吗? – Luca