2016-04-18 3 views
0

Как сохранить измененный размер BitmapImage? Я не могу найти способ сделать это в Windows Phone 8.1 Вот мой код:Любой способ сохранить измененный размер BitmapImage в WP 8.1

BitmapImage bitm = new BitmapImage(); 
await bitm.SetSourceAsync(stream); 

bitm.DecodePixelWidth = 200; 
bitm.DecodePixelHeight = 250; 

myImage.ImageSource= bitm; 

(Теперь я хочу, чтобы хранить в файле, потому что сохраненное изображение слишком велико)

+0

Какой формат вы хотите использовать jpeg, png или? – JTIM

+0

Любой формат действителен. –

+0

Тогда ответ должен быть достаточным, если изображение уже локально хранится :) – JTIM

ответ

0

Вы можете использовать WriteableBitmap для сохранения изображения.

private async void SaveImage(object sender, RoutedEventArgs e) 
    { 
     BitmapImage bitm = new BitmapImage(); 
     await bitm.SetSourceAsync(stream); 
     bitm.DecodePixelWidth = 200; 
     bitm.DecodePixelHeight = 250; 
     WriteableBitmap wb = new WriteableBitmap(bitm); 
     wb.Invalidate(); 
     using (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication()) 
     { 
      using (IsolatedStorageFileStream imageStream = new IsolatedStorageFileStream("/Shared/ShellContent/hello.jpg", System.IO.FileMode.Create, isf)) 
      { 
       wb.SaveJpeg(imageStream, wb.PixelWidth, wb.PixelHeight, 0, 100); 
      } 
     } 

    } 
+0

Проблема в том, что мое приложение является wp 8.1, а не silverlight, поэтому это не работает, потому что WriteableBitmap не имеет метода .ScaveJpeg или конструктора с параметром bitmapImage –

+0

Затем вы можете проверить этот ответ http://stackoverflow.com/questions/15494965/как-копи-BitmapImage-WinRT – asitis

Смежные вопросы