Na questão de carregamento de um gif animado, já é mais complicado. O sistema apresentado no tópico anterior não serve para imagens animadas.
Existem muitas variantes de código para apresentar estas imagens. A maioria do que consegui encontrar, refere utilizar as capacidades de animação do WPF. Basicamente, ler cada frame do gif, e fazer uma animação com todas as imagens resultantes. Como se pode encontrar neste projecto. Complicado e com demasiado código.
Solução:
Existem várias.
1
Como referido, é possível ler cada frame do gif e fazer a animação, mas serve apenas caso seja necessário ter um maior controlo. Para mim, não estou a ver dar grande uso a esta opção.
2
Com o comando MediaElement, é possível apresentar a imagem animada. No entanto, tem duas grandes limitações, na minha opinião. A primeira é utilizar um controlo pesado para apresentar uma imagem; A segunda é não aceitar caminhos absolutos ou relativos, tem de ser http:// ou file://.
3
A melhor, para o que se pretende. O WPF permite utilizar as soluções dos Windows Forms. Vejamos o controlo PictureBox:
XAML
< wfi:WindowsFormsHost x:Name="blocoWinForm">
< winForms:PictureBox x:Name="pictureBoxLoading" Visible="False" />
< /wfi:WindowsFormsHost>
Para aceder a este controlo, é necessário declarar dois namespaces:
xmlns:wfi="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"
xmlns:winForms="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
e adicionar as duas referências do campo assembly:
WindowsFormsIntegration
System.Windows.Forms
Code:
pictureBoxLoading.Image = Properties.Resources.acarregar;
Talvez a parte não tão conhecida sejam os "Resources", definidos no código. No VS2008, basta ir ás propriedades do projecto e escolher a tab dos "Resources". Adicionar as imagens animadas e estas passam a estar acessíveis.
Utilizei esta opção, resultou bem.
Fonte:
animated-gif
30 setembro 2009
Subscrever:
Enviar feedback (Atom)
1 comentário:
mas o properties, aparece sublinhado.. :S
Enviar um comentário