WP中使用WriteableBitmap生成任意大小的缩略图

WriteableBitmap有一个SaveJpeg的方法,它有5个参数,其中第一个为图片文件的输出流stream,另外的分别为(width,height,orientation,quality)。通过这个方法可以将图片以指定方向和质量缩放到指定大小(width, height),然后再保存到独立存储空间的文件中。

var isoFile = IsolatedStorageFile.GetUserStoreForApplication();

BitmapImage bitmap = new BitmapImage();

using (var imgStream = isoFile.OpenFile("img.jpg", System.IO.FileMode.Open,System.IO.FileAccess.Read))
{
    bitmap.SetSource(imgStream);
    steam.Close();
}

using(var thumbStream = isoFile.CreateFile("img.jpg")
{
    WriteableBitmap wbBitmap = new WriteableBitmap(bitmap);
    wbBitmap.SaveJpeg(thumbStream, 100, 100, 0, 100);
    thumbStream.Close();
}

需要记住的是每次用完一个输入或者输出流,都需要将它关闭(Close)掉,否则在后面使用时候,很有可能就会产生文件无法访问的错误。

Operation not permitted on IsolatedStorageFileStream.

标签: , , ,
文章分类 Windows Phone应用开发

发表评论