_GDIPlus_GraphicsDrawString in Farbe

  • Schau dir die Funktion in der GDIPlus.au3 an und du wirst feststellen, daß dort mit:

    [autoit]

    $hBrush = _GDIPlus_BrushCreateSolid()

    [/autoit]


    einfach ein schwarzer Brush erstellt wird...

    Also Funktion in dein Script kopieren, umbenennen und einen Farbwert einfügen z.b.:

    [autoit]

    $hBrush = _GDIPlus_BrushCreateSolid(0xFFEE9922)

    [/autoit]

    Warum man den Farbwert nicht gleich als Parameter mitgeben kann ist mir ein Rätsel...

    lgE

  • muss dass dann so aussehen:
    $hBrush = _GDIPlus_BrushCreateSolid(0xFFEE9922)
    _GDIPlus_GraphicsDrawString ($hbrush, "Hello world", 10, 115,"Arial",10,0)
    _GDIPlus_GraphicsDrawImageRect($Graphic, $hbrush, 0, 0, $width, $height) ;copy to bitmap

  • hi

    [autoit]

    #include <GdiPlus.au3>

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

    $hGui = GUICreate("Test")
    GUISetState()

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

    _GDIPlus_Startup()
    $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGui)
    _GDIPlus_GraphicsDrawStringColor($hGraphics, "TestString", 10, 10, "Arial", 20, 0, 0xFFFF6600)

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

    MsgBox(0, "", "Fertig")
    _GDIPlus_Shutdown()

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

    Func _GDIPlus_GraphicsDrawStringColor($hGraphics, $sString, $nX, $nY, $sFont = "Arial", $nSize = 10, $iFormat = 0, $iBrush = 0xFF000000)
    Local $hBrush, $iError, $hFamily, $hFont, $hFormat, $aInfo, $tLayout, $bResult

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

    $hBrush = _GDIPlus_BrushCreateSolid($iBrush)
    $hFormat = _GDIPlus_StringFormatCreate($iFormat)
    $hFamily = _GDIPlus_FontFamilyCreate($sFont)
    $hFont = _GDIPlus_FontCreate($hFamily, $nSize)
    $tLayout = _GDIPlus_RectFCreate($nX, $nY, 0, 0)
    $aInfo = _GDIPlus_GraphicsMeasureString($hGraphics, $sString, $hFont, $tLayout, $hFormat)
    $bResult = _GDIPlus_GraphicsDrawStringEx($hGraphics, $sString, $hFont, $aInfo[0], $hFormat, $hBrush)
    $iError = @error
    _GDIPlus_FontDispose($hFont)
    _GDIPlus_FontFamilyDispose($hFamily)
    _GDIPlus_StringFormatDispose($hFormat)
    _GDIPlus_BrushDispose($hBrush)
    Return SetError($iError, 0, $bResult)
    EndFunc ;==>_GDIPlus_GraphicsDrawStringColor

    [/autoit]

    Die Funktion _GDIPlus_GraphicsDrawStringColor hab ich aus der GdiPlus.au3 rauskopiert und erweitert...

    Vielleicht sollte man das mal anregen, daß ein Farbparameter gleich in die original Funktion integriert wird!

    lgE