Einzelnen Beitrag anzeigen

Trille

Registriert seit: 25. Sep 2007
62 Beiträge
 
#3

Re: rotiertes Label zentrieren

  Alt 21. Dez 2007, 09:23
Eine vorgefertigte Einstellung hat das Teil nicht, mein aktueller ansatz ist genau der, den du vorgeschlagen hast. Der Fonttype ist "Arial 10", ich hänge aber nun auch genau bei dem Problem , wie ich die Höhe in Pixeln berechne. Der Rest ist dann wieder einfach, da ich Das Offset (Orign_x und Orign_y) der Schrift angeben kann und die Höhe des Labels fest ist.

Folgendes Beispiel habe ich in einem anderen Forum gefunden, damit kann ich baer nicht viel anfangen, denn woher bekomme ich mein Canvas?


Delphi-Quellcode:
procedure CharWH(Canvas: TCanvas; Chr: Char; var Width, Height: Integer);
begin
  Width := Canvas.TextWidth(Chr);
  Height := Canvas.TextHeight(Chr);
end;

Beispiel:

Die Länge und Höhe des Zeichens "W" ermitteln:



Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Buchstabe: Char;
  W, H: Integer;
begin
  Buchstabe := 'W';
  CharWH(Canvas, Buchstabe, W, H);
  ShowMessage(Format('Buchstabe: "%s"' + ^j^j +
    'Breite: %d Pixel'+ ^j + 'Höhe: %d Pixel', [Buchstabe, W, H]));
end;
  Mit Zitat antworten Zitat