Thema: Delphi Canvas, Vertikaler Text

Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 

Re: Canvas, Vertikaler Text

  Alt 8. Dez 2005, 19:24
Hier:
Delphi-Quellcode:
Procedure VerticalText(Rotation, x, y: Integer; aText: String; aCanvas: TCanvas);
Var
  aFt: LOGFONT;
  hOldFont: THandle;

Begin
  hOldFont := aCanvas.Font.Handle;
  Try
    aCanvas.Font.Name :='Arial'; // Muss TrueType sein
    GetObject(aCanvas.Font.Handle, SizeOf(aFt), @Aft);
    aFt.lfEscapement := 10 * Rotation; // Rotate ist der Winkel in Grad
    aFt.lfOrientation := aft.lfEscapement;
    aFt.lfQuality := ANTIALIASED_QUALITY;
    aCanvas.Font.Handle := CreateFontIndirect(aFt);
    aCanvas.TextOut(x, y, aText);
  Finally
    DeleteObject(aCanvas.Font.Handle);
    aCanvas.Font.Handle := hOldFont;
  End;
End;
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat