Я пытаюсь загрузить изображения с Facebook. если пользователь установил изображение профиля, то это изображение jpg, однако, если пользователь не установило его, то это изображение является заглушкой в формате gif. Я знаю, что wp7 не поддерживает отображение изображений GIF (из коробки). Есть ли способ определить, является ли окончательное изображение GIF или нет?
например, я делаю BitmapImage так:
BitmapImage img = new BitmapImage(new Uri("https://graph.facebook.com/userid1/picture"))
для этого пользователя, у пользователя нет изображения профиля. так что я попал в заглушку GIF-изображения на https://fbcdn -profile-a.akamaihd.net / static-ak / rsrc.php / v1 / yo / r / UlIqmHJn-SK.gif .
если у пользователя есть изображение, тогда я запрашиваю его следующим образом.
BitmapImage img = new BitmapImage(new Uri("https://graph.facebook.com/userid2/picture"))
для указанного выше URL я перехожу на следующий URL: https://fbcdn -profile-a.akamaihd.net / hprofile-ak-snc4 / 000000_1621037713_00000000_q.jpg
Мой вопрос: как только я получу объект BitmapImage, img, могу ли я определить, является ли это JPG или GIF? Могу ли я преобразовать его в JPG, если это GIF?
Я посмотрел на некоторые связанные вопросы, но обсуждаемый API загружал изображение асинхронно, а сейчас это не то, что я хотел. кроме того, была плохая документация.
любая помощь приветствуется.
не важно, я следовал инструкциям здесь: Отображение GIF в приложении WP7 с Silverlight . пользователь дал отличную прогулку.
что вам нужно сделать перед тем, как сделать то, что предложил этот пользователь, это загрузить исходный код из codeplex.
, затем вам нужно загрузить библиотеку JPEG BitMiracle из http://bitmiracle.com/libjpeg/.
, зайдите в каталог / src / ImageTools и откройте ImageTools.Phone.sln. добавьте проект ImageTools.IO.Jpeg.Phone к решению.
когда вы создаете решение, оно будет жаловаться на то, что не найдет DLL-файл BitMiracle JPEG, продолжайте и ссылайтесь на эту DLL для проекта Jpeg. построить снова, и он должен работать.