GDI+ Text flackert

  • Hallo liebe AutoIt Community,

    ich taste mich momentan an GDI+ ran und hatte vor, einen Text
    im GDI Fenster darstellen zu lassen. Dieser soll sich ca. alle 50ms
    aktualisieren/neu zeichnen, weshalb ein normales Label dafür
    nicht in Frage käme.

    Dafür habe ich ein paar Beispiele aus dem Internet zusammengefügt.
    Der Text flackert nur leider und ich weiß nicht genau, woran das liegt.
    Das importierte Bild (bg_footer) flackert jedoch nicht.
    Würde mich über eure Hilfe freuen :)

  • Hi,

    AutoIt
    _GDIPlus_GraphicsDrawStringEx($graphic, $sString, $hFont, $aInfo[0], $hFormat, $hBrush)

    Muss auf den Buffer gezeichnet werden, ansonsten ist er nutzlos.

    Code
    $tLayout = _GDIPlus_RectFCreate(140, 380, 0, 0)

    Muss die Koordinaten Relativ zum Einfügepunkt des Buffers bekommen z.B. (140, 0, 0, 0)

    Dann sollte es eigentlich klappen.

    zudem ist folgende Zeile völlig unnötig:

    Code
    _GDIPlus_GraphicsDrawImageRect($buffer,$text, 0, 0,$GUI_Width, 30)

    Edit:
    Und folgendes solltest du auch änderen, du erstellst einen Buffer mit der größe des Fensters benützt aber nur $GUI_Width, 30

    Code
    $bitmap = _GDIPlus_BitmapCreateFromGraphics($GUI_Width, 30, $graphic)

    mfg

    Zeitriss

    Einmal editiert, zuletzt von Zeitriss (16. Juni 2016 um 20:19)

  • Hey danke für die schnelle Antwort.
    Der Text sollte ja über dem Bild sein.

    Aber ich weiß jetzt nicht, wie ich den Buffer
    ändern soll, damit der Text nicht mehr flackert.