Сжатие и сохранение образа base64 на Windows Phone 8.1
Я реализовал следующее решение для сжатия образа base 64 и возврата новой строки base 64. Он прекрасно работает в Windows Phone 8.0, но, ориентируясь на Windows Phone 8.1, похоже, что в среде произошли изменения.
WriteableBitmap
не имеет конструктора дляBitmapImage
иWriteableBitmap
не имеет функцииSaveJpeg
, я знаю этоSaveJpeg
такое расширение, есть ли способ добавить это расширение в Windows Phone 8.1? Или есть какой-нибудь API, который я могу использовать? Что я должен изменить, чтобы сделать этот 8.1 совместимым? Я вроде застрял с этим здесь: - /
public static string Compress(String base64String, int compression)
{
String compressedImage;
byte[] imageBytes = Convert.FromBase64String(base64String);
MemoryStream memoryStream = new MemoryStream(imageBytes, 0, imageBytes.Length);
BitmapImage bitmapImage = new BitmapImage();
bitmapImage.SetSource(memoryStream.AsRandomAccessStream());
WriteableBitmap bmp = new WriteableBitmap(bitmapImage);
int height = bmp.PixelHeight;
int width = bmp.PixelWidth;
int orientation = 0;
int quality = 100 - compression;
MemoryStream targetStream = new MemoryStream();
bmp.SaveJpeg(targetStream, width, height, orientation, quality);
byte[] targetImage = targetStream.ToArray();
compressedImage = System.Convert.ToBase64String(targetImage);
return compressedImage;
}