1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. HopFail

Beiträge von HopFail

  • MySQL

    • HopFail
    • 23. Mai 2010 um 11:08

    [Hilfe (F1) > User Defined Functions Reference > SQLite Management (SQLite user defined functions Reference)]

  • ..hat ein Problem festgestellt - _GDIPlus_GraphicsSetSmoothingMode

    • HopFail
    • 23. Mai 2010 um 10:10
    Zitat von Raupi

    Was mir auffällt ist, das du_GDIPlus_Startup viel zu spät aufrufst. Du benutzt _GDIPlus_ImageLoadFromFile schon vorher.

    Ich hab das gestern neu geordnet und nicht bemerkt.
    Danke, jetzt kommt die Fehlermeldung nicht mehr :)
    Nur jetzt sieht man die Bilder nicht mehr (Background + Roten Balloon) ;(

  • ..hat ein Problem festgestellt - _GDIPlus_GraphicsSetSmoothingMode

    • HopFail
    • 23. Mai 2010 um 10:02

    Da hast du nichts mit GDI+ gemacht oder?
    Wenn nicht, was ist der ModName bei deiner Fehlermeldung?

  • ..hat ein Problem festgestellt - _GDIPlus_GraphicsSetSmoothingMode

    • HopFail
    • 23. Mai 2010 um 09:39

    Hey,
    ich habe gestern spaßeshalber den SmoothingMode auf weiß ich was hoch gestellt.
    Nun meldet AutoIt beim Ausführen des Skripts immer folgenden Fehler:

    Fehlermeldung

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.
    autoit3.exe hat ein Problem festgestellt und muss beendet werden (ModName: gdiplus.dll)

    Fehler
    • _GDIPlus_Startup() wurde nach dem Verwenden von GDIPlus-Funktionen gesetzt
    Fehlerskript
    [autoit]

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

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

    Opt("GUIOnEventMode", 1)
    OnAutoItExitRegister("_Exit")

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

    ; Variablen ============================================================================

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

    Global $iWidth = 500, $iHeight = 600
    Global $iX = 0, $iY = 0
    Global $hBackground = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\graphics\background.png")
    Global $balloon_red = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\graphics\balloon_red.png")
    Global $balloon_green = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\graphics\balloon_green.png")
    Global $balloon_blue = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\graphics\balloon_blue.png")
    Global $balloon_yellow = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\graphics\balloon_yellow.png")
    Global $balloon_pink = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\graphics\balloon_pink.png")
    Global $balloonX = Random(0,450)
    Global $balloonY = 0

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

    ; GUI ============================================================================

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

    $hGUI = GUICreate("TrapTheBalloon",$iWidth,$iHeight)
    $hWnd = WinGetHandle("TrapTheBalloon")
    GUISetState()
    GUISetOnEvent(-3, "_Exit")
    GUIRegisterMsg(0x000F, "WM_PAINT")

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

    ; GDI+ ============================================================================

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

    _GDIPlus_Startup()
    $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hWnd)
    ;Erstmal das normale Grafik-Objekt erstellen.
    $hBitmap = _GDIPlus_BitmapCreateFromGraphics($iWidth, $iHeight, $hGraphic)
    ;Statt uns mit dem normalen Frontbuffer zufrieden zu geben, erstellen wir erstmal eine
    ;Bitmap, mit Bezug auf unser Grafikobjekt.
    $hBackbuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
    ;Nachdem unser Bitmap erstellt ist, holen wir uns den Graphics Context. Dieser
    ;wird von uns verwendet, um darin zu zeichnen
    _GDIPlus_GraphicsSetSmoothingMode($hBackBuffer, 2)

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

    ; While-Schleife ============================================================================

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

    While 1

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

    _GDIPlus_GraphicsClear($hBackbuffer)
    ; Superradierer benutzen um alten Backbuffer zu löschen
    _GDIPlus_GraphicsDrawRect($hBackbuffer,50,50,100,150)
    _WinAPI_RedrawWindow($hWnd, 0, 0,$RDW_INTERNALPAINT)
    ; WM_PAINT wird nur aufgerufen, wenn alle Berechnungen fertig sind!
    ; In WM_PAINT wird selbst nichts berechnet, oder gezeichnet. diese Funktion wird nur das
    ; Bitmap-Objekt in das Grafik-Objekt übertragen.
    WEnd

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

    ; Funktionen ============================================================================

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

    Func _Exit() ; Clean up resources
    _GDIPlus_GraphicsDispose($hGraphic) ; Grafikobjekt auflösen
    _GDIPlus_BitmapDispose($hBitmap); Bitmap auflösen
    _GDIPlus_ImageDispose($balloon_red); Bild auflösen
    _GDIPlus_ImageDispose($balloon_green); Bild auflösen
    _GDIPlus_ImageDispose($balloon_blue); Bild auflösen
    _GDIPlus_ImageDispose($balloon_yellow); Bild auflösen
    _GDIPlus_ImageDispose($balloon_pink); Bild auflösen
    _GDIPlus_ImageDispose($hBackground); Bild auflösen
    _GDIPlus_Shutdown() ; GDI+ Engine beenden
    Exit
    EndFunc ;==>_Exit

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

    Func WM_PAINT()
    _GDIPlus_GraphicsDrawImageRect($hBackbuffer, $hBackground, 0, 0, $iWidth, $iHeight)
    _GDIPlus_GraphicsDrawImage($hBackbuffer, $balloon_red, 50, 50)
    _GDIPlus_GraphicsDrawImageRect($hGraphic, $hBitmap, $iX, $iY, $iWidth, $iHeight)
    ; _GDIPlus_GraphicsDrawImageRect() überträgt den Backbuffer in den Frontbuffer.
    ; Der erste Parameter ist unser Frontbuffer (Grafik Objekt).
    ; Der zweite ist unsere Bitmap, welche ja als BackBuffer fungiert.
    ; Darauf folgt der Abschnitt den man übertragen will.
    ; i.d.R. ist es 0, 0 für X und Y koordinaten, und die GUI Breite und Höhe für
    ; Width und Height. Kommt natürlich immer drauf an, wie groß euer Grafikobjekt ist,
    ; und ob ihr den vollen Teil zeichnen wollt.
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_PAINT

    [/autoit]
    Lösung
    • _GDIPlus_Startup() richtig gesetzt
    Korrektes Skript
    [autoit]

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

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

    Opt("GUIOnEventMode", 1)
    OnAutoItExitRegister("_Exit")
    _GDIPlus_Startup()

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

    ; Variablen ============================================================================

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

    Global $iWidth = 500, $iHeight = 600
    Global $iX = 0, $iY = 0
    Global $hBackground = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\graphics\background.png")
    Global $balloon_red = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\graphics\balloon_red.png")
    Global $balloon_green = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\graphics\balloon_green.png")
    Global $balloon_blue = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\graphics\balloon_blue.png")
    Global $balloon_yellow = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\graphics\balloon_yellow.png")
    Global $balloon_pink = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\graphics\balloon_pink.png")
    Global $balloonX = Random(0,450)
    Global $balloonY = 0

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

    ; GUI ============================================================================

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

    $hGUI = GUICreate("TrapTheBalloon",$iWidth,$iHeight)
    $hWnd = WinGetHandle("TrapTheBalloon")
    GUISetState()
    GUISetOnEvent(-3, "_Exit")
    GUIRegisterMsg(0x000F, "WM_PAINT")

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

    ; GDI+ ============================================================================

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

    $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hWnd)
    ;Erstmal das normale Grafik-Objekt erstellen.
    $hBitmap = _GDIPlus_BitmapCreateFromGraphics($iWidth, $iHeight, $hGraphic)
    ;Statt uns mit dem normalen Frontbuffer zufrieden zu geben, erstellen wir erstmal eine
    ;Bitmap, mit Bezug auf unser Grafikobjekt.
    $hBackbuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
    ;Nachdem unser Bitmap erstellt ist, holen wir uns den Graphics Context. Dieser
    ;wird von uns verwendet, um darin zu zeichnen
    _GDIPlus_GraphicsSetSmoothingMode($hBackBuffer, 2)

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

    ; While-Schleife ============================================================================

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

    While 1

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

    _GDIPlus_GraphicsClear($hBackbuffer)
    ; Superradierer benutzen um alten Backbuffer zu löschen
    _GDIPlus_GraphicsDrawImageRect($hBackbuffer, $hBackground, 0, 0, $iWidth, $iHeight)
    _GDIPlus_GraphicsDrawImage($hBackbuffer, $balloon_red, 50, 50)
    _WinAPI_RedrawWindow($hWnd, 0, 0,$RDW_INTERNALPAINT)
    ; WM_PAINT wird nur aufgerufen, wenn alle Berechnungen fertig sind!
    ; In WM_PAINT wird selbst nichts berechnet, oder gezeichnet. diese Funktion wird nur das
    ; Bitmap-Objekt in das Grafik-Objekt übertragen.
    WEnd

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

    ; Funktionen ============================================================================

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

    Func _Exit() ; Clean up resources
    _GDIPlus_GraphicsDispose($hGraphic) ; Grafikobjekt auflösen
    _GDIPlus_BitmapDispose($hBitmap); Bitmap auflösen
    _GDIPlus_ImageDispose($balloon_red); Bild auflösen
    _GDIPlus_ImageDispose($balloon_green); Bild auflösen
    _GDIPlus_ImageDispose($balloon_blue); Bild auflösen
    _GDIPlus_ImageDispose($balloon_yellow); Bild auflösen
    _GDIPlus_ImageDispose($balloon_pink); Bild auflösen
    _GDIPlus_ImageDispose($hBackground); Bild auflösen
    _GDIPlus_Shutdown() ; GDI+ Engine beenden
    Exit
    EndFunc ;==>_Exit

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

    Func WM_PAINT()
    _GDIPlus_GraphicsDrawImageRect($hGraphic, $hBitmap, $iX, $iY, $iWidth, $iHeight)
    ; _GDIPlus_GraphicsDrawImageRect() überträgt den Backbuffer in den Frontbuffer.
    ; Der erste Parameter ist unser Frontbuffer (Grafik Objekt).
    ; Der zweite ist unsere Bitmap, welche ja als BackBuffer fungiert.
    ; Darauf folgt der Abschnitt den man übertragen will.
    ; i.d.R. ist es 0, 0 für X und Y koordinaten, und die GUI Breite und Höhe für
    ; Width und Height. Kommt natürlich immer drauf an, wie groß euer Grafikobjekt ist,
    ; und ob ihr den vollen Teil zeichnen wollt.
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_PAINT

    [/autoit]


    Die gdiplus.dll habe ich auch schon ersetzt, hat nichts gebracht.
    Weiß einer, wie ich das lösen kann?

    Edit: Präfix "gelöst" gesetzt, korrektes Skript oben

    Dateien

    fehler.png 36,96 kB – 0 Downloads
  • ChampionsLeage Finale-Wer gewinnt?

    • HopFail
    • 22. Mai 2010 um 22:34

    lol :party:

  • GDI+ GraphicsDrawImage - Bild wird nicht gezeichnet

    • HopFail
    • 22. Mai 2010 um 18:04

    xD ich liebe euch. (und muss jetzt auch los).

  • GDI+ GraphicsDrawImage - Bild wird nicht gezeichnet

    • HopFail
    • 22. Mai 2010 um 17:48

    Lol, ich habe das einmal falsch geschrieben und kopiert :P
    Aber das ändert auch nichts am Problem :(
    Trotzdem danke.

  • GDI+ GraphicsDrawImage - Bild wird nicht gezeichnet

    • HopFail
    • 22. Mai 2010 um 17:36
    Zitat von TheShadowAE
    Spoiler anzeigen
    [autoit]


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

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

    Opt("GUIOnEventMode", 1)
    OnAutoItExitRegister("_Exit")

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

    _GDIPlus_Startup()

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

    Global $iWidth = 500, $iHeight = 600
    Global $iX = 0, $iY = 0
    $hGUI = GUICreate("TrapTheBalloon",$iWidth,$iHeight)
    $hWnd = WinGetHandle("TrapTheBalloon")
    GUISetState()
    $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hWnd)
    ;Erstmal das normale Grafik-Objekt erstellen.
    $hBitmap = _GDIPlus_BitmapCreateFromGraphics($iWidth, $iHeight, $hGraphic)
    ;Statt uns mit dem normalen Frontbuffer zufrieden zu geben, erstellen wir erstmal eine
    ;Bitmap, mit Bezug auf unser Grafikobjekt.
    $hBackbuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
    ;Nachdem unser Bitmap erstellt ist, holen wir uns den Graphics Context. Dieser
    ;wird von uns verwendet, um darin zu zeichnen
    $red = 0xFFFF0000
    $green = 0xFF00FF00
    $blue = 0xFF0000FF
    $yellow = 0xFFFFFF00
    $pink = 0xFFFF1493
    Global $hBackground = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\graphics\background.png")
    Global $balloon_red = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\graphics\ballon_red.png")
    Global $balloon_green = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\graphics\ballon_green.png")
    Global $balloon_blue = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\graphics\ballon_blue.png")
    Global $balloon_yellow = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\graphics\ballon_yellow.png")
    Global $balloon_pink = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\graphics\ballon_pink.png")
    _GDIPlus_GraphicsDrawEllipse($hBitmap,50,60,50,60,$red)
    GUISetOnEvent(-3, "_Exit")

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

    While 1
    _WinAPI_RedrawWindow($hWnd, 0, 0,$RDW_INTERNALPAINT)
    _GDIPlus_GraphicsClear($hBackbuffer)
    _GDIPlus_GraphicsDrawImage($hBackbuffer, $balloon_red, 50, 50)
    _gdiplus_graphicsdrawimagerect($hGraphic,$hBitmap,0,0,$iWidth,$iHeight)
    ; WM_PAINT wird nur aufgerufen, wenn alle Berechnungen fertig sind!
    ; In WM_PAINT wird selbst nichts berechnet, oder gezeichnet. diese Funktion wird nur das
    ; Bitmap-Objekt in das Grafik-Objekt übertragen.
    Sleep(1000)
    WEnd

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

    Func _Exit() ; Clean up resources
    _GDIPlus_GraphicsDispose($hGraphic) ; Grafikobjekt auflösen
    _GDIPlus_BitmapDispose($hBitmap); Bitmap auflösen
    _GDIPlus_ImageDispose($balloon_red); Bild auflösen
    _GDIPlus_ImageDispose($balloon_green); Bild auflösen
    _GDIPlus_ImageDispose($balloon_blue); Bild auflösen
    _GDIPlus_ImageDispose($balloon_yellow); Bild auflösen
    _GDIPlus_ImageDispose($balloon_pink); Bild auflösen
    _GDIPlus_ImageDispose($hBackground); Bild auflösen
    _GDIPlus_Shutdown() ; GDI+ Engine beenden
    Exit
    EndFunc ;==>_Exit

    [/autoit]

    Du hast öfter den Backbuffer gelöscht, bevor er auch nur auf das Fenster gemalt werden konnte.
    Ich habe es jetzt auch ohne die letzte Funktion gemacht

    Alles anzeigen

    Jetzt habe ich einen schwarzen Hintergund und keinen Ballon (Ellipse)?

  • Vorschläge (Sammlthread)

    • HopFail
    • 22. Mai 2010 um 17:00
    Zitat von yxyx

    auserdem müsste das ganze script umgeschriben werden
    also statt _GdiPlus_GraphicsDrawImage()
    müsste man imma _GdiPlus_GraphicsDrawImageRect() schreiben und dan noch die bildgröße angeben
    wenste willst kannstes gerne machen nur der aufwand is mir zur zeit leider zu viel


    ähmm und wegen dem php des gästebuchs
    ich häng da grad n bissel
    ich werd heute abend ma schaun was sich ändern lässt

    Alles anzeigen

    Man merkt, dass du wenig Zeit hast ^^

  • GDI+ GraphicsDrawImage - Bild wird nicht gezeichnet

    • HopFail
    • 22. Mai 2010 um 16:56

    Danke, aber das macht auch keinen Unterschied :(

  • Doodle Jump für Pc

    • HopFail
    • 22. Mai 2010 um 14:58
    Zitat von Buckiuxx

    hab's mir gedownloadet...
    Sehr gute Arbeit würd ich mal sagen :thumbup:

    Ich glaub ich habe einen kleinen Bug gefunden...
    Ich hatte gerade diese Springerstiefel bekommen,
    und bin direkt danach Tod gegangen...
    anschließend bin ich im nächsten Spiel mit den Stiefeln gestartet...
    Hat mich verwirrt...ist das normal? :D

    Gruß,
    Buckiuxx

    :thumbup: :thumbup: :thumbup:

    Alles anzeigen

    Vielleicht updaten?

  • Themes

    • HopFail
    • 22. Mai 2010 um 14:05

    Okay.

  • Vorschläge (Sammlthread)

    • HopFail
    • 22. Mai 2010 um 13:34
    Zitat von sebbeXD

    wieso wäre doch ganz cool

    Lass uns hören was die Entwickler dazu sagen :)

  • Vorschläge (Sammlthread)

    • HopFail
    • 22. Mai 2010 um 13:26
    Zitat von tuttifrutti

    Vll so ?

    [autoit]

    ; == Fenster Modus
    If WinWaitActive("Name") Then
    $X = @DesktopHeight
    $Y =@DesktopWidth
    WinMove ( "Namet", "", 0, 0, $X, $Y )
    EndIf

    [/autoit]

    Das ist mir schon klar, dass das geht. Nur das würde Anpassung erfordern und zerstört zudem das Aussehen.

  • Themes

    • HopFail
    • 22. Mai 2010 um 13:09
    Zitat von Ubuntu

    Doodle Jump für Pc

    mfg Ubuntu

    Ich weiß ich weiß...
    Es gibt aber immer noch ein paar Dateien (die in dem Archiv), die das Programm nicht brauchbar machen kann.

    Edit: Ich merke gerade, dass nur die Game-Tiles alle nicht geöffnet werden können. Der Rest ist bearbeitbar.
    Noch eine Frage: Wird das Script an die Bilder angepasst, oder die Bilder an das Script?

  • Themes

    • HopFail
    • 22. Mai 2010 um 12:51

    Neulinging hat ja mal eine Sammlung reingestellt, ich brauche nur eine "bearbeitbare" Version von folgenden Dateien, um die Bilder reinzustellen.


    http://www.file-upload.net/download-25368…ateien.rar.html


    Dateigröße: 1587 Kbyte

  • Vorschläge (Sammlthread)

    • HopFail
    • 22. Mai 2010 um 12:34
    Zitat von sebbeXD

    wie wärs wenn man in den optionen noch vollbild einstellen könnte :D

    Wie willst du das denn machen?

  • Vorschläge (Sammlthread)

    • HopFail
    • 22. Mai 2010 um 12:23

    Wenn du meinst, fiel mir nur grade so auf ;D

  • Vorschläge (Sammlthread)

    • HopFail
    • 22. Mai 2010 um 12:18

    Habe noch einen Vorschlag:

    Für mehr Übersicht sollte ein Thread für Bugs erstellt werden.

  • Home Chat

    • HopFail
    • 22. Mai 2010 um 11:36

    In der Hilfe (F1) sind unter [Function Reference > Network Management] mehrere TCP- Befehle erklärt. Schau dir das mal an.

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™