Text 90° gedreht in GUI

  • ich habe ein weiteres Problem ...

    mit dem Befehl _GDIPlus_GraphicsDrawString kann Text auch vertikal angezeigt werden.

    Ich möchte den Text aber um 90 Grad gedreht haben ... aber eben in die andere Richtung !

    Die Zeile 385 führt den _GDIPlus_GraphicsDrawString und schreibt den Text "Kraft [N]".

    Nur müßte der Text jetzt noch um 180° gedreht werden. Leider gibt das die Funktion nicht her.

    Es gab dazu von BugFix eine Funktion : Link

    Mit dieser Funktion könnte ich das ja auch machen.

    Leider bekomme ich das ganze nicht in meiner GUI integriert (bin zu doof) ... irgendwo mach ich da was falsch.

    Wie muss ich das anpassen ? Ich denke, es muss in die Bitmap rein ... aber wie ?

    Oder kann ich das doch mit einem der _GDIPlus_Graphics... umsetzen ? ... mit welchem ?

    Danke

    • Offizieller Beitrag

    Nur müßte der Text jetzt noch um 180° gedreht werden. Leider gibt das die Funktion nicht her.


    Es gab dazu von BugFix eine Funktion : Link

    Mit dieser Funktion könnte ich das ja auch machen.

    Leider bekomme ich das ganze nicht in meiner GUI integriert (bin zu doof) ... irgendwo mach ich da was falsch.

    Beim Drehen des Textes musst du beachten. x, y bezieht sich immer auf oben links des lesbaren Textes. Bei 180° landet der Text auf Kopf und somit ist x,y an der Textposition unten rechts!

    Bezogen auf die gewünschte Position wäre also in diesem Fall: x = x+Breite und y = y+Höhe

    P.S.

    Du solltest ein lauffähiges Skript einstellen, möglichst kurz und auf das Problem heruntergebrochen. Dein Skript kann man leider nicht ausführen, da die einzulesende Text-Datei nicht vorhanden ist.

  • BugFix - Danke ... ja, so hab ich mir das schon gedacht.

    ... schwieriger ist für mich deine Funktion in meinen Code reinzubekommen ... ich kriegs einfach nicht hin.

    Mir helft der Brückenschlag von deinen benutzen _WinAPI_-Befehlen zur Bitmap in meinem Code ...

    der Aufruf mit

    _WriteRotateText($GUI, GUICtrlRead($In), GUICtrlRead($inX), GUICtrlRead($inY), GUICtrlRead($inDeg), _

    GUICtrlRead($inSize), GUICtrlRead($inWeight), $type, $readFont, $col, $bkcol)

    ist richtig gut ...

    Leider nützen mir auch Erklärungen nichts, da mir die Thematik einfach zu unverständlich ist.

    Letztendlich möchte die Grafik abspeichern und auch ausdrucken ... mit den gedrehten Text.

    Vielleicht kann das einer mal irgendwie ... zusammenführen ?

    ... die Textdatei - ah ! ja ... einen Moment.

    ... dann nur auf 'Kennlinie berechnen' gehen.

    Die Textdatei bitte im gleichen Verz. lassen

    • Offizieller Beitrag

    Du hast nicht auf der GUI gezeichnet, sondern auf dem Image. Meine Funktion verlangt aber die GUI als Parameter (Funktionskopf lesen hilft 8) )

    so gehts:

    C++
        ; _WriteRotateText($GUI, $Text, $X, $Y, $Degree, $Size, $Weight), $type, $readFont, $col, $bkcol)
        ; Group Weg-Kraft: 456,4
        _WriteRotateText($NF_Form1, "Kraft [N]", 456+10, 4+120, 90, 10, 100, 1, "Arial", -1, -1)
    ;~     _GDIPlus_GraphicsDrawString($hImage, "Kraft [N]", 83-76, 19+100, "Arial", 10, 2)