Я вижу решение этой проблемы: Сохранение в формате JPEG из потока памяти в С# а>
но это не работает в winRT. Есть ли простой способ сохранить MemoryStream в формате JPEG с помощью FileSavePicker?
Я пытался:
private async void Save_Image(MemoryStream image)
{
// Launch file picker
FileSavePicker picker = new FileSavePicker();
picker.FileTypeChoices.Add("JPeg", new List<string>() { ".jpg", ".jpeg" });
StorageFile file = await picker.PickSaveFileAsync();
if (file == null)
return;
Stream x = await file.OpenStreamForWriteAsync();
image.WriteTo(x)
}
но он сохраняет пустой файл. Может быть, я делаю что-то не так.
Пробовал еще один подход, но снова пустое изображение:
private async void Save_Image(MemoryStream image)
{
// Launch file picker
FileSavePicker picker = new FileSavePicker();
picker.FileTypeChoices.Add("JPeg", new List<string>() { ".jpg", ".jpeg" });
StorageFile file = await picker.PickSaveFileAsync();
if (file == null)
return;
int end = (int)image.Length;
byte[] buffer = new byte[end];
await image.ReadAsync(buffer, 0, end);
await FileIO.WriteBytesAsync(file, buffer);
}
image
? - person user7116   schedule 10.05.2013private async void Save_Image(MemoryStream image) {
- person ashish nirkhe   schedule 11.05.2013