C# 缩放图像时出现内存不足异常
我是Windows phone开发的新手。我正在缩放一幅图像,第一次缩放图像时效果很好,但当我选择另一幅图片并在图像上实现缩放时,我得到了一个C# 缩放图像时出现内存不足异常,c#,windows-phone-8,memory-management,windows-phone-8.1,C#,Windows Phone 8,Memory Management,Windows Phone 8.1,我是Windows phone开发的新手。我正在缩放一幅图像,第一次缩放图像时效果很好,但当我选择另一幅图片并在图像上实现缩放时,我得到了一个 System.OutOfMemoryException。在这条线上 ScaleTransform t = new ScaleTransform() { ScaleX = 5, ScaleY = 5 }; 我尝试缩放图像的代码 Image uiElement = new Image() { Source = blurImage }; ScaleTrans
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将翻转缩放对象,但不会更改其水平大小
如果您能将异常日志发布到答案中,它将真正帮助我们:)非常感谢您的解释,它确实帮助了我。:)@用户3555472我知道你没有接受答案。。。发生了什么事?