[GDI+] Text in Bild schreiben und speichern

  • Hallo wie die überschrift schon sagt habe ich das problem das ich in ein Bild einen String malen möchte und das dann als neues bild speichern möchte.

    quasi

    _______________


    Vorher

    _______________

    _______________
    HelloWorld

    Nachher

    _______________

    Mein code siht wie folgt aus:

    [autoit]

    #include<Gdiplus.au3>

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

    _GDIPlus_Startup()

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

    $File = @ScriptDir&"\test.jpg"

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

    $himg = _GDIPlus_ImageLoadFromFile($File)

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

    $hGraphics2 = _GDIPlus_BitmapCreateFromFile($himg)
    $hGraphics = _GDIPlus_ImageGetGraphicsContext ($hGraphics2)
    _GDIPlus_GraphicsDrawString( $hGraphics,"Hello World",150,415)

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

    _GDIPlus_ImageSaveToFile( $hGraphics,@ScriptDir&"\222.jpg")

    [/autoit]

    funktioniert aber leider nicht wie ich es möchte. Wäre über hilfe erfreut

  • Hallo Hamburger,

    hier eine Lösung (zusammengebastelt laut DesktopWetter)

    Spoiler anzeigen
    [autoit]

    #include<Gdiplus.au3>

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

    _GDIPlus_Startup()

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

    $sInfo = "Hallo Welt"

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

    $File = @ScriptDir & "\test.jpg"

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

    $himg = _GDIPlus_ImageLoadFromFile($File)

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

    $hGraphics = _GDIPlus_ImageGetGraphicsContext($himg)
    $iX = _GDIPlus_ImageGetWidth($himg)
    $iy = _GDIPlus_ImageGetHeight($himg)
    $hBrush = _GDIPlus_BrushCreateSolid(); $Color)
    $hFormat = _GDIPlus_StringFormatCreate()
    $hFamily = _GDIPlus_FontFamilyCreate("Arial")
    $hFont = _GDIPlus_FontCreate($hFamily, 20, 2)
    $tLayout = _GDIPlus_RectFCreate(15, 15)
    $aInfo = _GDIPlus_GraphicsMeasureString($hGraphics, $sInfo, $hFont, $tLayout, $hFormat)
    _GDIPlus_GraphicsDrawStringEx($hGraphics, $sInfo, $hFont, $aInfo[0], $hFormat, $hBrush)
    _GDIPlus_GraphicsDrawImage($hGraphics, $himg, $iX, $iy)
    _GDIPlus_ImageSaveToFile($himg, @ScriptDir & "\22.jpg")
    _GDIPlus_BrushDispose($hBrush)
    _GDIPlus_ImageDispose($himg)
    _GDIPlus_Shutdown()

    [/autoit]

    mfg (Auto)Bert