Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 缩放图像时出现内存不足异常_C#_Windows Phone 8_Memory Management_Windows Phone 8.1 - Fatal编程技术网

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

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

我是Windows phone开发的新手。我正在缩放一幅图像,第一次缩放图像时效果很好,但当我选择另一幅图片并在图像上实现缩放时,我得到了一个
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我知道你没有接受答案。。。发生了什么事?