内存不足 缩放图像时出现异常

本文关键字:异常 缩放 图像 内存不足 | 更新日期: 2023-09-27 18:34:47

我是Windows手机开发的新手。我正在缩放图像,第一次它缩放图像很好,但是当我选择另一张图片并在图像上实现缩放时,所以我得到了一个 System.OutOfMemoryException .在这一行上

ScaleTransform t = new ScaleTransform() { ScaleX = 5, ScaleY = 5 };

我尝试缩放图像的代码。

Image uiElement = new Image() { Source = blurImage };
ScaleTransform t = new ScaleTransform() { ScaleX = 5, ScaleY = 5 };
WriteableBitmap writeableBitmap = new WriteableBitmap(uiElement, t);
using (MemoryStream ms = new MemoryStream())
{
    writeableBitmap.SaveJpeg(ms, (int)blurImage.PixelWidth, (int)blurImage.PixelHeight, 0, 100);                      
    bmp.SetSource(ms);
    imgholder.Source = null;
    imgholder.Source = bmp;
    ms.Dispose();
}
t = null;
writeableBitmap = null;
uiElement.Source = null;
uiElement = null;
GC.Collect();

我该如何解决?

内存不足 缩放图像时出现异常

您将图像缩放 500%。这真的是你想要的吗?此操作后,图像或第二个图像可能太大。

介于 0 和 1 之间的值减小缩放对象的宽度;大于 1 的值会增加缩放对象的宽度。值为 1 表示对象未沿 x 方向缩放。

负值可水平翻转缩放的对象。介于 0 和 -1 之间的值可翻转缩放对象并减小其宽度。小于 -1 的值将翻转对象并增加其宽度。值 -1 将翻转缩放的对象,但不更改其水平大小。

缩放变换类