1

我的 WinRT XAML 页面从这样的文件资产加载图像:

Image img = new Image();  // Windows.UI.Xaml.Controls.Image
BitmapImage bmp = new BitmapImage(new Uri(Page.BaseUri, "Assets/myImage.png"));
img.Source = bmp;

到现在为止还挺好。现在,稍后,我想做一些转换,例如调整大小和裁剪。

看起来这可以使用BitmapEncoderBitmapTransform完成,但需要读取和写入磁盘 - 特别是,将修改后的图像写入新文件。

由于我的应用程序可能会进行许多转换,因此我更愿意在没有任何磁盘 I/O 的情况下在内存中执行此操作,但不知道如何操作。

有任何想法吗?

4

1 回答 1

2

看看WriteableBitmap类,这允许在内存中进行修改。

WriteableBitmap bmi2 = new WriteableBitmap(bitmapSource); 

更多信息可以在这里找到:http: //msdn.microsoft.com/en-us/library/windows/apps/BR243259

于 2012-12-06T02:25:38.807 回答