Я хотел бы отобразить gif в моем приложении WP7. Есть ли способ достичь этого?Показать GIF в приложении WP7 с Silverlight
Я пробовал этот http://imagetools.codeplex.com/, но не могу заставить его работать с WP7.
Заранее спасибо за любую помощь
Я хотел бы отобразить gif в моем приложении WP7. Есть ли способ достичь этого?Показать GIF в приложении WP7 с Silverlight
Я пробовал этот http://imagetools.codeplex.com/, но не могу заставить его работать с WP7.
Заранее спасибо за любую помощь
Фактически, он работает, но ему не хватает документации.
После некоторых неприятностей, вот как его использовать:
Добавить пространство имен в XAML:
xmlns:imagetools="clr-namespace:ImageTools.Controls;assembly=ImageTools.Controls"
И ресурсы:
<phone:PhoneApplicationPage.Resources>
<imagetools:ImageConverter x:Key="ImageConverter" />
</phone:PhoneApplicationPage.Resources>
Затем с помощью управления с преобразователем:
<imagetools:AnimatedImage Source="{Binding ImageSource, Converter={StaticResource ImageConverter}}" />
Ваш ImageSource должен быть Uri, например:
ImageSource = new Uri("http://mysite/my.gif", UriKind.Absolute);
Не забудьте добавить декодированного :
ImageTools.IO.Decoders.AddDecoder<GifDecoder>();
Это анимированный GIF? Если нет, я бы попытался преобразовать GIF в другой поддерживаемый формат файла, прежде чем использовать его в вашем приложении.
изображение может быть анимированный GIF – Tim
Согласно http://msdn.microsoft.com/en-us/library/ff462087(VS.92).aspx элемент управления Silverlight не поддерживает файлы GIF.
С помощью ImageTools вы конвертируете GIF-файл в другое место на лету на устройстве. Если вы используете gif-файлы, которыми вы управляете (т. Е. Вы связываете их в XAP или они поступают с вашего веб-сервера.), Вы должны использовать преобразованные версии этих файлов.
Это будет означать, что приложение должно делать меньше.
Эффект стука:
1. Вам не нужно писать меньше кода.
2. Приложение должно будет выполнять меньше работы, и поэтому будет работать немного лучше.
Конечно, это не касается анимированных GIF-файлов. Для этого вам нужно использовать другой подход.
Я только что проверил указанную вами ссылку и говорит, что GIF поддерживается на всех устройствах (сейчас). – T3rm1
@ T3rm1 хорошо, это потенциально сбивает с толку. ОС поддерживает эти 4 формата (bmp, jpg, png & gif), чтобы вы могли просматривать их в электронных письмах или на веб-страницах. ОДНАКО, Silverlight поддерживает только форматы JPG и PNG (см. Примечания http://msdn.microsoft.com/en-us/library/system.windows.media.imaging.bitmapimage(v=vs.95).aspx). Это означает, что вы не можете GIF непосредственно в вашем коде. –
Заметить сообщение Джейми Родригеса здесь, используя GIF с WP7. Он использует проект ImageTools из CodePlex.
http://blogs.msdn.com/b/jaimer/archive/2010/11/23/working-with-gif-images-in-windows-phone.aspx
Я использую ту же концепцию для отображения gif image.but, некоторое время я получаю эту ошибку «Инициализатор типа для« ImageTools »выбрал исключение». Если вы знаете эту ошибку, помогите мне. – Jeeva
Я изо всех сил, чтобы получить ответ принят рабочий.Следующее решение для меня показало статический gif.
public ImageResponse(string imageUrl)
{
InitializeComponent();
ImageTools.IO.Decoders.AddDecoder<GifDecoder>();
var imageResponse = new ExtendedImage();
imageResponse.UriSource = new Uri(imageUrl);
imageResponse.LoadingCompleted += this.ImageResponseLoadingCompleted;
}
private void ImageResponseLoadingCompleted(object sender, EventArgs e)
{
var imageResponse = (ExtendedImage)sender;
Classes.Util.UiThread.Invoke(() =>
{
this.ImageResponse.Source = imageResponse.ToBitmap();
});
}
Classes.Util.UiThread вспомогательный класс я использую для вызова пользовательского интерфейса Пропустите
this.ImageResponse является стандартным управления
Будет ли эта поддержка Отображать анимированный gif? – SKandeel
Да, я только что пробовал это;) –
Я не могу заставить это работать, компиляция кода и все, кроме во время инициализации времени выполнения, вызывают исключение из несовместимого типа привязки. Поскольку этот пост составляет около года, обновлена ли библиотека ImageTools таким образом, чтобы это было несовместимо с этим? – Esko