2013-11-24 3 views
0

Как пропускать изображения между страницами с прозрачным фоном, PNG-форматом? Теперь я прошел изображение, но фон черный.Пропустить «прозрачное» изображение между страницами

Вот мой код:

Первая страница:

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

Вторая страница:

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(); 

ответ

0

Вы, кажется, кодировать/декодировать изображение в формате JPEG, который не обрабатывает прозрачность.

Попробуйте сохранить его как есть (растровое изображение) или PNG.

+0

Но как я могу сохранить это изображение как PNG? Любая подсказка? – user2962457

+0

Вам необходимо использовать сторонние библиотеки, такие как ImageTools (http://imagetools.codeplex.com/). –

+0

Хорошо, я собираюсь попробовать. Но я не знаю, как передать это изображение между страницами, потому что оно должно быть в байтах. – user2962457

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