繁体   English   中英

使用FileSavePicker在Windows Phone 8.1中保存图像

[英]Save image in windows phone 8.1 using FileSavePicker

我想使用File Save Picker保存图像。 我正在使用链接进行保存,但仅用于文本,如何修改它以保存图像?

如您所提供的链接,那么我假设您在继续操作后设法获得了StorageFile (这是WP8.1 Runtime的工作方式)。

我还假设您的图像带有Stream ,或者您知道如何获得这样的图像。 在这两个基础上,您可以将png格式的图像保存到选择器选择的文件中,例如:

public async Task SaveStreamAsync(IRandomAccessStream streamToSave, StorageFile destination)
{
    BitmapDecoder bmpDecoder = await BitmapDecoder.CreateAsync(streamToSave);
    PixelDataProvider pixelData = await bmpDecoder.GetPixelDataAsync(BitmapPixelFormat.Rgba8, BitmapAlphaMode.Straight, null, ExifOrientationMode.RespectExifOrientation, ColorManagementMode.DoNotColorManage);
    using (var destFileStream = await destination.OpenAsync(FileAccessMode.ReadWrite))
    {
        BitmapEncoder bmpEncoder = await BitmapEncoder.CreateAsync(BitmapEncoder.PngEncoderId, destFileStream);
        uint yourWidthAndOrHeight = 1024;
        bmpEncoder.SetPixelData(BitmapPixelFormat.Rgba8, BitmapAlphaMode.Straight, yourWidthAndOrHeight, yourWidthAndOrHeight, 300, 300, pixelData.DetachPixelData());
        await bmpEncoder.FlushAsync();
    }
}

也请记住Dispose您的streamToSave整理与他们合作后(和其他资源)。

如果您查看BitmapEncoderBitmapDecoder类,那么您将看到更多选项,包括转换和各种属性。

(我没有粗略地测试过代码,但希望它能正常工作)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM