无法在Windows应用商店中旋转图像

时间:2014-12-16 16:58:33

标签: image windows-8 microsoft-metro image-rotation

我正在尝试使用我的设备相机拍摄照片,但使用以“纵向”模式保持的设备拍摄的图像会侧身出现。我想在保存之前旋转它们,但我遇到的解决方案对我不起作用。

Windows.Storage.Streams.InMemoryRandomAccessStream stream = new Windows.Storage.Streams.InMemoryRandomAccessStream();
imagePreview.Source = null;

await stream.WriteAsync(currentImage.AsBuffer());
stream.Seek(0);

BitmapDecoder decoder = await BitmapDecoder.CreateAsync(stream);
BitmapEncoder encoder = await BitmapEncoder.CreateForTranscodingAsync(stream, decoder);
encoder.BitmapTransform.Rotation = BitmapRotation.Clockwise90Degrees;
encoder.IsThumbnailGenerated = false;
await encoder.FlushAsync();

//save the image
StorageFolder folder = KnownFolders.SavedPictures;
StorageFile capturefile = await folder.CreateFileAsync("photo_" + DateTime.Now.Ticks.ToString() + ".bmp", CreationCollisionOption.ReplaceExisting);
string captureFileName = capturefile.Name;

//store stream in file
using (var fileStream = await capturefile.OpenStreamForWriteAsync())
{
    try
    {
        //because of using statement stream will be closed automatically after copying finished
        await Windows.Storage.Streams.RandomAccessStream.CopyAsync(stream, fileStream.AsOutputStream());
    }
    catch
    {

    }
}

这会生成没有应用旋转的原始图像。我看了很多样本​​,无法弄清楚我做错了什么。

0 个答案:

没有答案