该函数可将图像流旋转90度。在Windows Phone上调用了5-6次后,我得到了SystemOutOfMemory异常
private WriteableBitmap _rotate(Stream stream)
{
var bmp = new BitmapImage();
bmp.SetSource(stream);
var src = new WriteableBitmap(bmp);
var w = src.PixelWidth;
var h = src.PixelHeight;
var p = src.Pixels;
var dst = new WriteableBitmap(h, w);
var i = 0;
var rp = dst.Pixels;
for (var x = 0; x < w; x++) {
for (var y = h - 1; y >= 0; y--) {
var srcInd = y * w + x;
rp[i] = p[srcInd];
i++;
}
}
/* Trying to free memory, but nothing of that works */
//bmp = null;
//src = null;
return dst;
}我知道这个函数的问题,因为当我不调用的时候-一切都很好。
发布于 2014-02-17 19:18:47
试着使用它:
GC.Collect();
GC.WaitForPendingFinalizers();https://stackoverflow.com/questions/21827084
复制相似问题