![]() |
Diagrammbeschriftung - rotierten Text anzeigen
Hallo,
ich sitze nun seit Tagen an diesem Problem und komm kein Stückchen weiter! Vielleicht kann mich hier einer von meinen Leiden erlösen :wink: Ich benutze die graphics32 Library (leider Voraussetzung) und zeichne direkt auf ein Bitmap32 ein Diagramm. Nun möchte ich auch das Diagramm beschriften. ![]() Den Text gebe ich mit folgender Prozedur aus:
Delphi-Quellcode:
Allerdings wird der Text, wie man oben sehen kann, nicht wie erwartet ausgegeben. Ich habe zuerst vermutet, dass das an dem DrawMode des Bitmaps32 liegt und da alle Modis ausprobiert, allerdings auch nicht mit einem ausreichenden Ergebnis. Bei dmBlend wird gar kein Text ausgegeben und nur das Diagramm. Bei dmTransparent wie Bild oben und dmCustom wie folgt
procedure TTriangle.rotatedTextOut(x, y, winkel, groesse: Integer; txt: string);
var hfont, fontold: Integer; dc: hdc; fontname: string; begin if length(txt)=0 then exit; dc:= FDrawArea.Canvas.Handle; fontname:= FDrawArea.Font.Name; hfont:= CreateFont(-groesse,0,winkel*10,0,fw_normal,0, 0, 0, 1, PROOF_QUALITY, $10, 4, 4, PChar(fontname)); fontold:= SelectObject(dc, hfont); TextOut(dc, x, y, PChar(txt), length(txt)); SelectObject(dc, fontold); DeleteObject(hfont); end; ![]() Zugegeben, ich hab erst vor drei Wochen mit Delphi angefangen und versuch mich wirklich durchzuschlagen. Also bitte ich entsprechend Berücksichtigung in den weitergehenden Hilfestellung und Antworten. Ursprünglich wollte ich das Ganze mit Layer aufbauen, was für mich zuerst einfacher war, am Diagramm auszurichten. Als sogenannte Platzhalter für die Beschriftung, in denen ich dann alles mögliche, aber zentriert schreiben kann. Aber wie gesagt, ursprünglich ... :( Ich hoffe mir kann hier jemand weiterhelfen?! Bin für jede Hilfe dankbar!!! Gruß Thomas |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz