_GDIPlus_ImageLoadFromFile, Bild anzeigen

  • kannst du mir einen vollen Script schreiben? ich weiss nicht, wie die benötigten Funktionen heissen

  • meine güte :D
    Mach mal das GDI+ tutorial !

    Ich finde es toll das du mit GDI+ anfängst, aber Ubuntus tut hilft dir sicher noch mehr dabei :D

    Aber wenn du es haben willst, hier ein script das ich für ein paar freunde gemacht habe (sie wollten autoit anfangen)

    Zeile 26 kanste das Bild nehmen, und die 2 vorletzten Parameter = Width und Height

    Hier mal der Auszug (mit Bild):

    Mit Bild
    [autoit]


    #include <GDIPlus.au3>
    #include <Misc.au3>
    _GDIPlus_Startup()
    Global $Width = 200, $Height = 200, $X = 0, $Y = 0

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

    $GUI = GUICreate("Game", $Width, $Height)
    GUISetState(@SW_SHOW)

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

    $Graphic = _GDIPlus_GraphicsCreateFromHWND($GUI) ;Frontbuffer
    $Bitmap = _GDIPlus_BitmapCreateFromGraphics($Width, $Height, $Graphic) ;Bitmap für Frontbuffer
    $Backbuffer = _GDIPlus_ImageGetGraphicsContext($Bitmap) ;Backbuffer

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

    While 1
    Sleep(10)
    Switch GUIGetMsg()
    Case -3
    Exit
    EndSwitch
    _ReDraw()
    WEnd

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

    Func _ReDraw()
    _Bewegung()
    _GDIPlus_GraphicsClear($Backbuffer, 0xFFEFEBDE)

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

    _GDIPlus_GraphicsDrawImageRect($Backbuffer, _GDIPlus_ImageLoadFromFile("Filename"), 20,20,$X,$Y)

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

    _GDIPlus_GraphicsDrawImageRect($Graphic, $Bitmap, 0, 0, $Width, $Height)
    EndFunc ;==>_ReDraw
    Func _Bewegung()
    If _IsPressed("25") Then; Links
    If $X <= 0 Then
    $X = 0
    Else
    $X -= 2
    EndIf
    ElseIf _IsPressed("26") Then;Oben
    If $Y <= 0 Then
    $Y = 0
    Else
    $Y -= 2
    EndIf
    ElseIf _IsPressed("27") Then;Rechts
    If $X + 20 >= $Width Then
    $X = $Width - 20
    Else
    $X += 2
    EndIf
    ElseIf _IsPressed("28") Then;Unten
    If $Y + 20 >= $Height Then
    $Y = $Height - 20
    Else
    $Y += 2
    EndIf
    EndIf
    EndFunc ;==>_Bewegung

    [/autoit]
    Eigentliches Skript
    [autoit]


    #include <GDIPlus.au3>
    #include <Misc.au3>
    _GDIPlus_Startup()
    Global $Width = 200, $Height = 200, $X = 0, $Y = 0

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

    $GUI = GUICreate("Game", $Width, $Height)
    GUISetState(@SW_SHOW)

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

    $Graphic = _GDIPlus_GraphicsCreateFromHWND($GUI) ;Frontbuffer
    $Bitmap = _GDIPlus_BitmapCreateFromGraphics($Width, $Height, $Graphic) ;Bitmap für Frontbuffer
    $Backbuffer = _GDIPlus_ImageGetGraphicsContext($Bitmap) ;Backbuffer

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

    While 1
    Sleep(10)
    Switch GUIGetMsg()
    Case -3
    Exit
    EndSwitch
    _ReDraw()
    WEnd

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

    Func _ReDraw()
    _Bewegung()
    _GDIPlus_GraphicsClear($Backbuffer, 0xFFEFEBDE)

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

    _GDIPlus_GraphicsFillRect($Backbuffer, $X, $Y, 20, 20)

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

    _GDIPlus_GraphicsDrawImageRect($Graphic, $Bitmap, 0, 0, $Width, $Height)
    EndFunc ;==>_ReDraw
    Func _Bewegung()
    If _IsPressed("25") Then; Links
    If $X <= 0 Then
    $X = 0
    Else
    $X -= 2
    EndIf
    ElseIf _IsPressed("26") Then;Oben
    If $Y <= 0 Then
    $Y = 0
    Else
    $Y -= 2
    EndIf
    ElseIf _IsPressed("27") Then;Rechts
    If $X + 20 >= $Width Then
    $X = $Width - 20
    Else
    $X += 2
    EndIf
    ElseIf _IsPressed("28") Then;Unten
    If $Y + 20 >= $Height Then
    $Y = $Height - 20
    Else
    $Y += 2
    EndIf
    EndIf
    EndFunc ;==>_Bewegung

    [/autoit]

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