Как оптимизировать размер изображения обложки альбома из медиатеки в Windows Phone 7?

Я пытаюсь разработать музыкальный проигрыватель для Windows Phone 7. В этом мне нужно загрузить все изображения обложек альбомов альбомов в медиа-библиотеке одно за другим как изображение 200X200px, используя:

albumArtStream = library.Albums[loop_counter].GetAlbumArt();

Но оригинальные изображения обложек альбомов имеют размер 500X500 пикселей каждое (приблизительно), использование памяти увеличивается примерно до 150-200 МБ, что приводит к сбою приложения. Пробовал проверить утечку памяти с помощью опции анализа приложений, но не помогло. Временно использую:

albumArtStream = library.Albums[loop_counter].GetThumbnail();

Здесь использование памяти составляет всего около 25 МБ. Но из-за того, что это миниатюра, изображения обложек альбомов выглядят не очень хорошо.

Может ли кто-нибудь помочь мне и сказать мне, как уменьшить разрешение / размер изображения до требуемого размера и сэкономить память?


person sid    schedule 12.02.2013    source источник
comment
Что ты делаешь в GetAlbumArt? Какие типы вы используете?   -  person John Bowen    schedule 12.02.2013
comment
Image albumImage = new Image(); BitmapImage albumArtImage = new BitmapImage(); albumArtImage.SetSource(albumArtStream); albumImage.Source = albumArtImage; Используя это, я отображаю альбом на странице.   -  person sid    schedule 12.02.2013


Ответы (1)


Нашел то, что искал. Оптимизировать размер изображения можно с помощью ScaleTransform. Вот где я нашел решение: http://www.wintellect.com/CS/blogs/jprosise/archive/2009/12/17/silverlight-s-big-image-problem-and-what-выможете-сделать-об-этом.aspx

Хотя сообщение в блоге предназначено для какого-то веб-сайта, который создает блоггер, в этом сообщении он говорит о проблеме Silverlight, и, следовательно, применим сюда.

person sid    schedule 14.02.2013