Einzelnen Beitrag anzeigen

nieltreh

Registriert seit: 25. Nov 2008
1 Beiträge
 
#1

Diagrammbeschriftung - rotierten Text anzeigen

  Alt 25. Nov 2008, 12:31
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

Ich benutze die graphics32 Library (leider Voraussetzung) und zeichne direkt auf ein Bitmap32 ein Diagramm. Nun möchte ich auch das Diagramm beschriften.

http://www.bobinger-armaturen.de/Diagramm.jpg

Den Text gebe ich mit folgender Prozedur aus:

Delphi-Quellcode:
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;
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

http://www.bobinger-armaturen.de/Diagramm1.jpg

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
  Mit Zitat antworten Zitat