[Hilfe] Diashow

  • Hallo Com^^

    ich wollte eine Diashow mal anders machen also halt mit GUI
    ein Fenster wo die Bilder sind und entweder per Mausklick oder automatisch mit einer sekunden anzahl weiter gehen
    dazu wollt ich ein inputfeld machen wo die sekunden reinkommen mit der zeit pro bild

    mfg volle

    Mit freundlichen Grüßen

    volle

  • Zeitriss ich vermute er möchte das wir ihm ein Script geben, das folgendes macht:

    Bilder in einer GUI machen (GUICtrlCreatePic())
    Timer setzen wann das nöchste bild kommt
    Timer per input box bestimmen

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

  • Also falls du schöne animationen willst solltest du GdiPlus nehmen.

    Da ich allerdings glaube das die einfachere variante besser für dich geeignet wäre solltest du EM's methode verwenden.

    mfg Ubuntu

  • Probiers mal damit:

    Spoiler anzeigen
    [autoit]


    $zeit = InputBox ("Zeit", "Zeit zwichen den Bildern in milli sek.")

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

    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #include <GdiPlus.au3>
    #include <Misc.au3>

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

    $Gui = GUICreate("Beispiel", 179, 163, 543,294, -1)
    GUISetState(@SW_SHOW)

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

    _GDIPlus_Startup() ;Gdi starten

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

    $figur1 = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\") ;hier den namen angeben
    $figur2 = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\")
    $figur3 = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\")
    $figur4 = _GDIPlus_ImageLoadFromFile (@ScriptDir & "\")
    $graphic = _GDIPlus_GraphicsCreateFromHWND($Gui)
    $bitmap = _GDIPlus_BitmapCreateFromGraphics(179, 163, $graphic) ;anpassen
    $buffer = _GDIPlus_ImageGetGraphicsContext($bitmap)

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

    While 1

    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch

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

    _GDIPlus_GraphicsDrawImageRect($buffer,$figur1,0,0,179, 163)
    Sleep($zeit)
    _GDIPlus_GraphicsDrawImageRect($buffer,$figur2,0, 0, 179, 163)
    Sleep($zeit)
    _GDIPlus_GraphicsDrawImageRect ($buffer, $figur3, 0, 0, 179,163 )
    Sleep($zeit)
    _GDIPlus_GraphicsDrawImageRect($buffer,$figur4,0,0, 179, 163)
    Sleep($zeit)
    _GDIPlus_GraphicsDrawImage($graphic, $bitmap, 0, 0)
    Sleep($zeit)
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit]
  • Du hastzwei Sachen vergessen:

    • Er muss es selber verstehen
    • Du musst Ressourcen freigeben

    So würde ich das Script nie ausführen.
    Bitte versuch erst bei Gdi Problemen zu helfen wenn du dich mal ernsthaft mit Gdi+ befasst hast.

    mfg Ubuntu

  • hab ich auch gerade gemerkt :) hm es ist ja nicht alles drin was er suchte z.b. kann man da noch nicht mit rechtsklick das nächste bild machen^^

  • Ich sagte doch bereits das du dich mal ernsthaft damit beschäftigen solltest.

    Entweder dir mal ein Tutorial angucken
    oder dir mal vornehmen das zu lernen und ein paar Scripte zu schreiben die funktionieren. (das eine schliesst das andere nicht aus)

    mfg Ubuntu

  • *wie z.B. ich mein erstes Spiel oder den Maus-Dragger in GDI+ * (punkt verfolgt maus auf GUI)

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

  • irg was is in meinem script falsch ... könnt ihr pls mal gucken?
    er zeig die bilder nicht an und lässt sich nicht auf [X] schließen

  • ja glaub ich auch...
    ich hab das problem. Es lag an den sleep dingern ... wie macht man das denn richtig?? das die der reihe nach aufgehen und dann wieder von vorne?