FieldAccessException при использовании FJCore с Silverlight для Windows Phone 7

Я нашел эту отличную библиотеку для Silverlight, которая в основном является портом libjpeg, поэтому я был готов ее проверить. После загрузки библиотеки из репозитория SVN (http://fjcore.googlecode.com/svn/trunk/) я смог успешно создать библиотеку и добавить ссылку на .DLL в свой проект Windows Phone 7. После успешной сборки моего проекта WP7 при использовании эмулятора приложение вылетает с ошибкой, которую я никогда раньше не видел:

FieldAccessException не было обработано. - System.Reflection.Emit.OpCodes.Ldarg_1

Пример silverlight из исходного кода работал нормально. Пример открывает диалоговое окно «Открыть файл» и изменяет размер изображения в зависимости от того, что выбрано. К сожалению, я не могу использовать тот же код в своем проекте WP7. Классы WP7 не поддерживают диалог «Открыть файл». Библиотека просто использует общий объект Stream, поэтому я передаю e.Result (объект PhotoStream) из события PhotoChooserTask Completed.

Есть мысли о том, почему я получаю эту ошибку и как ее исправить?

Изменение размера изображения в моем приложении WP7 обязательно. В конце концов, кто хочет подождать, чтобы загрузить 5-мегапиксельное изображение по сети 3G? Я знаю, что не знаю.

Спасибо!

ОБНОВЛЕНИЕ - найдено решение для изменения размера изображения в WP7 в потоке приложения (а не в потоке пользовательского интерфейса).

protected Stream ResizeImage(WriteableBitmap tempBitmap, int maxEdge)
{
    WriteableBitmap wb = tempBitmap;

    // Resize to Max Values...
    Size widthHeight = GetMaxWidthHeight(wb.PixelWidth, wb.PixelHeight, maxEdge);
    Stream resizedStream = new MemoryStream();
    wb.SaveJpeg(resizedStream, (int)widthHeight.Width, (int)widthHeight.Height, 0, 90);
    return resizedStream;
}

person Jason    schedule 16.11.2010    source источник


Ответы (1)


потому что вы не можете использовать отражение (DLR) в приложении WP7.

person Lukasz Madon    schedule 16.11.2010
comment
comment
Ответ пользователя на мой вопрос технически правильный, но я немного разочарован отсутствием предложений по решению. Цк, цк. - person Jason; 22.11.2010