0

How can I pass images between pages with transparent background, png format? Now I passed image but background is black.

Here is my code:

First page:

WriteableBitmap wb = new WriteableBitmap(logoQrCodeImage, null);
Byte[] array = ConvertImage.ConvertToBytes(wb);
if (!IsolatedStorageSettings.ApplicationSettings.Contains("State"))
{
    IsolatedStorageSettings.ApplicationSettings["State"] = array;
    IsolatedStorageSettings.ApplicationSettings.Save();
}

Second page:

Byte[] array = IsolatedStorageSettings.ApplicationSettings["State"] as Byte[];
MemoryStream stream = new MemoryStream(array);
WriteableBitmap wb = new WriteableBitmap(50, 50);
//wb.LoadJpeg(stream);

var encoder = new PngEncoder();
ExtendedImage myImage;
myImage = wb.ToImage();
encoder.Encode(myImage, stream);

icon.Source = myImage.ToBitmap();
IsolatedStorageSettings.ApplicationSettings.Remove("State");
IsolatedStorageSettings.ApplicationSettings.Save();

1 Answers1

0

You seem to encode/decode the image as JPEG, which does not handles transparency.

Try saving it as-is (Bitmap) or PNG.

Olivier Payen
  • 15,198
  • 7
  • 41
  • 70