Rubrik: Grafik und Font · Bilder & Icons | VB-Versionen: VB4, VB5, VB6 | 24.12.01 |
Animierte GIFs anzeigen Dieses Beispiel zeigt, wie man das WebBrowser-Control dazu missbrauchen kann, animierte GIF-Grafiken anzuzeigen. | ||
Autor: Dieter Otter | Bewertung: | Views: 71.053 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Visual Basic unterstützt zwar seit der Version 5.0 das GIF-Bildformat, doch werden animierte GIF-Grafiken nicht als solche dargestellt, sondern vielmehr immer nur das erste Bild einer animierten GIF-Grafikfolge.
Wie Sie dennoch animierte GIFs in Ihren Programmen anzeigen können, ohne auf zusätzliche Freeware/Shareware oder gar kommerzielle Komponenten zurückgreifen zu müssen, zeigt Ihnen der nachfolgende "weihnachtliche" Tipp
Alles was Sie brauchen, sind ein Image- und ein WebBrowser-Control. Das Image-Control verwenden wir, um die Größe der GIF-Grafik zu ermitteln, das WebBrowser-Control übernimmt die Darstellung der animierten GIF-Grafik.
Nun wird ja aber bekanntlich immer automatisch ein Scrollbalken im WebBrowser-Control angezeigt, sowie automatisch auch ein kleiner Rand freigehalten. Um diese "Einschränkungen" zu umgehen, schreiben wir eine kleine HTML-Seite mit folgendem Body-Attribut:
<html> <body leftMargin=0 topMargin=0 marginheight=0 marginwidth=0 scroll='no'> <img src="GIF-Datei.gif"></img> </body> </html>
Und genau diesen kurzen HTML-Code übergeben wir dem Navigate-Befehl des WebBrowser-Controls.
Zuvor müssen wir aber noch die Größe des Browser-Fensters entsprechend der Bildgröße anpassen. Hierzu laden wir die GIF-Grafik zunächst in ein unsichtbares Image-Control. Da sich die Größe des Image-Controls standardmässig immer der Grafik anpasst, können wir so ganz leicht die Größe an das WebBrowser-Control übetragen:
' Grafik-Größe ermitteln Image1.LoadPicture("GIF-Datei.gif") ' WebBrowser-Fenstergröße anpassen With WebBrowser1 .Width = Image1.Width + 45 .Height = Image1.Height + 45 End With
Mit diesen paar Codezeilen können Sie also ab sofort Ihre animierte GIF-Grafiken anzeigen lassen.
Hier der vollständige Code
Um eine animierte GIF-Grafik anzuzeigen, rufen Sie zukünftig die Prozedur ShowAnimatedGIF auf und übergeben dieser als Parameter das auf der Form befindliche WebBrowser-Control, ein unsichtbares Image-Control, sowie den Dateinamen der GIF-Grafik selbst.
' Animierte GIF-Grafik im WebBrowser-Control anzeigen Public Sub ShowAnimatedGIF(WB As Control, _ img As Control, ByVal sFileGIF As String) Dim sHTML As String ' Größe bestimmten img.Picture = LoadPicture(sFileGIF) With WB ' Größe: WebBrowser-Control .Width = img.Width + 45 .Height = img.Height + 45 ' HTML-Code für das Anzeigen der Grafik sHTML = "about:" & _ "<html>" & _ "<body leftMargin=0 topMargin=0 marginheight=0 " & _ "marginwidth=0 scroll='no'>" & _ "<img src=""" & sFileGIF & """></img></body></html>" .Silent = True .Navigate sHTML End With End Sub