_GDIPlus_GraphicsClear Problem

  • Also ich habe dieses Script hier.

    Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>

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

    $hWnd = GUICreate ("Test",600,600)
    GUICtrlCreatePic (@ScriptDir & "\1.jpg",0,0,600,600)
    GUISetState(@SW_SHOW)
    _GDIPlus_Startup()
    $hImage = _GDIPlus_ImageLoadFromFile (@ScriptDir & "\1.png")
    $hGraphic = _GDIPlus_GraphicsCreateFromHWND ($hWnd)
    For $1 = 0 To 400 Step 10
    ;~ _GDIPlus_GraphicsClear ($hGraphic)
    _GDIPlus_GraphicsDrawImage($hGraphic,$hImage,$1,$1)
    Sleep (100)
    Next
    While 1
    Switch GUIGetMsg ()
    Case -3
    Exit
    EndSwitch
    Sleep (10)
    WEnd

    [/autoit]

    Nun möche ich das was ich zuvor gemalt habe wieder löschen und das nägste malen. Es gibt ja die Function _GDIPlus_GraphicsClear allerdings füllt die nur die ganze Graphic mit einer Farbe und löscht nicht einfach das gemalte. Und das Problem:
    Das bild wird dann mit der Farbe übermal, kann ich das noch irgenwie anders hinbekommen?

    mfg. Jam00

  • Hallo,

    Zitat

    _GDIPlus_GraphicsClear allerdings füllt die nur die ganze Graphic mit einer Farbe und löscht nicht einfach das gemalte


    Das ist ja klasse, dann hast du also nach dem Aufruf von _GDIPlus_GraphicsClear 2 Grafiken? :rolleyes:
    Natürlich wird die Grafik gelöscht, genau wie du auf einer Tafel die Kreide mit einem nassen Schwamm "übermalen" musst, damit sie weg ist.
    Spass beiseite, du "malst" doch auf einen Hintergrund, idr speichert man den Hintergrund und kopiert zum "löschen" den Hintergrund an die Stelle des Bildes.
    ciao
    Andy

  • Hallo,

    Zitat

    hä was?

    selten eine solch qualifizierte Frage gelesen...
    Das Script funktioniert übrigens einwandfrei...
    ciao
    Andy

  • Klar funtioniert das, nur nicht so wie es sein soll!

    Ich möchte einfach das das was ich in der Graphics gemalt habe verschwindet. So wie es verschwindet wenn man es minnimiert und dann wieder maximiert oder wenn man ein anderes fenster drüberziehet

    mfg. Jam00