GDI+ für Zwischendurch

  • Ja, in etwa der Form meines Avatars kann diese Funktion (mit anderen / dem gleichen Hintergrund) euren Namen / euren Text eintragen !
    Enter ist nicht möglich :P

    Script:

    Script
    [autoit]


    #include <GDIPlus.au3>
    #include <Misc.au3>
    Global $AktualString, $Save

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

    _GDIPlus_Startup()

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

    $DB = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\Images\DB-HB.PNG")
    $Rainbow = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\Images\Rainbow.PNG")
    $LOC = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\Images\LOC.PNG")

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

    $GUI = GUICreate("GDIPlus - Text Draw", 500, 140, -1, -1)
    $Text = GUICtrlCreateInput("Text", 0, 100, 400, 20)
    $ActualString = GUICtrlCreateCombo("Background:", 0, 121, 200, 20)
    GUICtrlSetData(-1, "Dark Blue to Light Blue|Rainbow|Lots of Colors")
    $SaveButton = GUICtrlCreateButton("Speichere Bild", 201, 121, 100, 20)
    GUISetState(@SW_SHOW)

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

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

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

    Do
    _GDIPlus_GraphicsDrawString($Backbuffer, GUICtrlRead($Text), -10, -10, "Comic Sans MS", 40)
    Switch GUICtrlRead($ActualString)
    Case "Dark Blue to Light"
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $DB, 0, 0, 500, 100)
    Case "Rainbow"
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $Rainbow, 0, 0, 500, 100)
    Case "Lots of Colors"
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $LOC, 0, 0, 500, 100)
    Case Else
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $DB, 0, 0, 500, 100)
    EndSwitch

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

    _GDIPlus_GraphicsDrawString($Backbuffer, GUICtrlRead($Text), -10, -10, "Comic Sans MS", 30)
    _GDIPlus_GraphicsDrawImageRect($Graphic, $Bitmap, 0, 0, 500, 100) ; Back to front Buffer
    Switch GUIGetMsg()
    Case $SaveButton
    $Save = FileSaveDialog("Speichere Bild", @ScriptDir, "PNG (*.PNG)")
    _GDIPlus_ImageSaveToFile($Bitmap, $Save & ".PNG")
    Case -3
    _Exit()
    EndSwitch

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

    Until _IsPressed("1B")

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

    _Exit()
    Func _Exit()
    _GDIPlus_ImageDispose($DB)
    _GDIPlus_ImageDispose($Rainbow)
    _GDIPlus_ImageDispose($LOC)
    _GDIPlus_BitmapDispose($Bitmap)
    _GDIPlus_GraphicsDispose($Graphic)
    _GDIPlus_Shutdown()
    Exit
    EndFunc ;==>_Exit

    [/autoit]

    Download (die Datei war zu groß für Autoit.de)

    [Bewertungen sind erwünscht](auch von Darter)(auch negative Kritik)

    Hat jemand ne Idee für den Namen :P ?

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

  • Cool wärs noch wenn man zwischen verschiedenen Schriftarten wählen könnte,

    Die Schriftart kannst du in Zeile 24 und 36 ändern.

  • Sieht ganz nett aus
    kannst ja noch andere avatar formen mit muster dazu verwenden auch andere größen