Animiertes gif als Hintergrund

  • Hey, ich habe nu einige Sachen versucht...
    In nem IE-embbed-Control das Gif abspielen zu lassen -> man braucht IE -> doof
    Mit GuiCtrlCreateAvi und das Bild als .avi umgewandelt -> Fehlermeldung (von wegen Datei hat nen Fehler oder darf nicht unter Windows verwendet werden... lol)

    Und jetzt, was mir super gefällt xD... ->
    http://www.autoitscript.com/forum/index.php?showtopic=77179&st=20&p=560870&#entry560870

    Aber das geht irgendwie nicht im Hintergrund, wohl wegen GDI+? Kann man das irgendwie umgehen? SetState auf On_Top hat schon mal nicht geklappt...


    Gibts irgend eine vernünftige Möglichkeit???


    LG

    *edit*
    Das sollte helfen, mit Anpassungen, hmmmm -> [ gelöst ] mal wieder transparente Controls in GUI


    ALLERDINGS -> (41,50) : WARNING: $AC_SRC_ALPHA: possibly used before declaration.

    *edit* -> [ gelöst ] Helligkeitsstufen bei Bildern
    Lösung dafür... Es geht auch mit einfachen Controls, aber meine GUI springt nicht darauf an, ohne Sinn total verzogen und falschfarbig alles... -.-

    5 Mal editiert, zuletzt von Acanis (6. August 2010 um 14:46)

  • Bei mir klappt nicht mal die Demo...

    Zitat

    C:\Users\Acanis\Downloads\AnimatedGifs\AniDemo.au3 (34) : ==> Subscript used with non-Array variable.:
    $gif = GUICtrlCreateGif ($gui, $pic, 10, 10, $dim[0], $dim[1], -1, $WS_EX_TRANSPARENT , 1, 1)
    $gif = GUICtrlCreateGif ($gui, $pic, 10, 10, $dim^ ERROR


    Ich versteh auch nicht, warum das bei mir net geht, oben, die Links... Meine ganze GUI ist einfach grau -.-...

    LG


    *edit*
    Ohne Demo kann man das net so einfach nach basteln... Haste da nen kleines Script zu?


    *edit* Das geht ->

    [autoit]

    #include <_ani.au3>

    [/autoit][autoit][/autoit][autoit]

    $hGui = GUICreate("")

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateGif( $hGui, @ScriptDir & "\urlaub_74.gif", 0, 0)

    [/autoit][autoit][/autoit][autoit]

    GUISetState()

    [/autoit][autoit][/autoit][autoit]

    While Sleep(50)
    Wend

    [/autoit]

    *hmmmmmmmmmmmm* *rumprobier*...


    *edit*
    Er macht mein Gif aber total klein -,- Sonst scheint die func cool zu sein Oo
    Mit GifEx geht das dann, aber da frisst er nachm 2. Durchlauf die ganze GUI xD!

    Wenn ich mit der Maus über ein Control fahre, kommt das aber wieder vor... Wie mache ich, dass nichts überzeichnet wird? :(

    *edit*
    Habs ani-Beispiel zum Laufen bekommen... Auskommentieren beim Slow-Mode und n anderes Bild angeben... xD
    Aber sieht da auch kacke aus... Ich uppe das gif mal...
    Soll einfach hinter den Controls laufen... Kriegt das wer hin?


    LG

    *edit*

    [autoit]

    GUICtrlCreateGif($hGui, @ScriptDir & "\Background.gif", 0, 0, 800, 600)

    [/autoit]

    Geht! Aber sieht nicht perfekt aus...

    [autoit]

    GUICtrlCreateGifEx($hGui, @ScriptDir & "\Background.gif", 0, 0)

    [/autoit]

    Geht nicht! Ist aber richtig groß...

    Mit ganz viel Speed und so, sieht die 1. Variante "okey" aus, wenn ich sie stoppen könnte, nach Kurzem... _Ani_DeleteAnimation() geht nicht -.-... Ist wohl net dafür gedacht xD?!


    Mit #include "GUIGIFAnimated.au3" siehts iwie besser aus... -.- Aber warum auch immer, passt das net auf meine Gui Oo...

  • Hallo Acanis,

    hier ein kleines Beispiel-Skript im OnEvent-Modus:

    Spoiler anzeigen
    [autoit]

    ; *** Start added by AutoIt3Wrapper ***
    #include <WindowsConstants.au3>
    ; *** End added by AutoIt3Wrapper ***
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Add_Constants=n
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #Include <_Ani.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Opt("GuiOnEventMode",1)
    $pic = @ScriptDir & "\Blue_Planet.gif"
    $gui1 = GUICreate("Example #1 : GIF Animation", 420, 460,0,0)
    ;GUISetOnEvent(-3,"_exitMain")
    $label = GUICtrlCreateLabel("An animated license free gif will now be downloaded from Wikipedia.", 20, 20, 360, 360)
    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    If FileExists($pic) = 0 Then InetGet("http://upload.wikimedia.org/wikipedia/commons/2/2c/Rotating_earth_%28large%29.gif", $pic)
    $dim = _Ani_GetGifSize ($pic)
    $gif = GUICtrlCreateGif ($gui1, $pic, 10, 10, $dim[0], $dim[1], -1, $WS_EX_TRANSPARENT , 1, 1);uncomment for slow mode
    sleep(5000)
    GuiDelete($gui1)

    [/autoit] [autoit][/autoit] [autoit]

    $gui2 = GUICreate("Example for _aniGif: ANI based Animations", 260, 130)
    GUISetOnEvent(-3,"_exitMain")
    GUISetAni (@WindowsDir & "\Cursors\drum.ani", $gui2);comment out to remove flickering !
    TraySetAni (@WindowsDir & "\Cursors\metronom.ani", $gui2)
    GUICtrlCreateLabel("UDF Animated Controls", 30, 10, 112, 20, 513)
    $icon = GUICtrlCreateAni ($gui2, @WindowsDir & "\Cursors\dinosaur.ani", 30, 40, 32, 32)
    GUICtrlSetCursor(-1, 0)
    $button = GUICtrlCreateButton("| |", 35, 87, 25, 25)
    GUICtrlSetTip(-1, "Pause")
    $paused = 0
    $icon2 = GUICtrlCreateIcon("", 0, 110, 40, 32, 32)
    GUICtrlSetAni ($gui2, $icon2, @WindowsDir & "\Cursors\horse.ani")
    $slider = GUICtrlCreateSlider(75, 85, 100, 30)
    GUICtrlSetTip(-1, "Speed")
    GUICtrlSetLimit(-1, 96, -96)
    GUICtrlSetData(-1, 12)
    GUICtrlCreateLabel("'Normal' Control", 170, 10, 72, 20, 513)
    $icon3 = GUICtrlCreateIcon(@WindowsDir & "\Cursors\horse.ani", 0, 190, 40, 32, 32)
    GUISetState()
    While 1

    [/autoit] [autoit][/autoit] [autoit]

    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _exitMain()
    Exit
    EndFunc

    [/autoit]

    beim erstellen des Skriptes ist mir aufgefallen, dass ich das Original schon einmal geändert hatte, du solltest also dort $pic entsprechend dieses Skriptes anpassen (Zeile 10),

    mfg (Auto)Bert

  • Danke, hast du es aber mal mit meinem gif als Hintergrund versucht?
    Beim CreateGif ist das schön hinter den Controls!, es flackert aber super und bleibt grafisch immer wieder an Controls hängen. SIeht nicht sooo fein aus, leider...

    CreateGifEx dagegen sieht in der HInsicht perfekt aus, ÜBERMALT aber die Controls...
    Bräuchte ne Mischung aus Beidem xD...

    Muss man irgendwas bei den Controls vielleicht beachten, wie man die einstellt? Oder ist mein BG einfach nicht geeignet?


    LG


    *edit*
    DAMIT GINGS NU DOCH! Nach 2 Tagen rumprobieren xD... ->
    [ gelöst ] mal wieder transparente Controls in GUI
    Man darf die Transparenz erst NACH den Controls machen -.-

    Einmal editiert, zuletzt von Acanis (6. August 2010 um 14:43)

  • Danke, hast du es aber mal mit meinem gif als Hintergrund versucht?
    Beim CreateGif ist das schön hinter den Controls!, es flackert aber super und bleibt grafisch immer wieder an Controls hängen. SIeht nicht sooo fein aus, leider..


    Also so habe ich ein zufriedenstellendes Ergebnis (flackert nur leicht beim Verschieben des Fensters):

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <_Ani.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Opt("GuiOnEventMode", 1)
    $pic = @ScriptDir & "\Background.gif"
    $idfrmMain = GUICreate("Example #1 : GIF Animation", 800, 620, 0, 0)
    GUISetOnEvent(-3, "_exitMain")

    [/autoit] [autoit][/autoit] [autoit]

    $dim = _Ani_GetGifSize($pic)
    $gif = GUICtrlCreateGif($idfrmMain, $pic, 0, 0, $dim[0], $dim[1], -1);, $WS_EX_TRANSPARENT, 1, 1)
    GUISetState()
    Global $idfrmChild = GUICreate("GUI", 800, 600, 0, 0, $WS_POPUP, BitOR($WS_EX_MDICHILD, $WS_EX_ACCEPTFILES), $idfrmMain)

    [/autoit] [autoit][/autoit] [autoit]

    ;TraySetAni(@WindowsDir & "\Cursors\metronom.ani", $idfrmChild)
    GUICtrlCreateLabel("UDF Animated Controls", 30, 10, 112, 20, 513)
    $icon = GUICtrlCreateAni($idfrmChild, @WindowsDir & "\Cursors\dinosaur.ani", 30, 40, 32, 32)
    WinSetTrans("GUI", "", 190)
    GUISetState()
    While 1

    [/autoit] [autoit][/autoit] [autoit]

    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _exitMain()
    Exit
    EndFunc ;==>_exitMain

    [/autoit] [autoit][/autoit] [autoit][/autoit]
  • Warum auch immer, bei mir ist das übelst ausgegraut, flackert und halb durchsichtig Oo...

    Aber ich habs grade gelöst...
    Ich habe einen MINI-Fehler gehabt, beim Verständnis -.-.. Geht mit den Links aus meinem 1. Post...
    Ist Hammer!... :D


    VIELEN VIELEN DANK für deine Mühe, sonst hätte ich nicht soviel noch rumprobiert... Und habe dabei ne Menge gelernt, neue UDFs kennen gelernt xD... Denke, wenn mal wieder jemand sowas sucht, hat er jetzt hier ne ganze Menge Input *lach*...

    Auch, wenn ich deine Lösung nicht nehmen konnte, echt top Hilfe :* *lach* *rumhüpf*

    LG