Einzelnen Beitrag anzeigen

Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#2
  Alt 14. Jan 2003, 08:32
Ein bisschen rumexperimentieren bleibt noch, aber folgender Code ist zur Manipulation der Schrift des Canvas. Beide, Escapement und Orientation sind für die Dreheung des Textes bzw. der Buchstaben von 0 bis 3600 einstellbar. (1 Grad entpricht 10 Einheiten. 90 Grad entsp. 900 Einheiten)
Delphi-Quellcode:
    Canvas := FLayer.Bitmap.Canvas;
    SetGraphicsMode(Canvas.Handle, GM_ADVANCED);
    SetTextCharacterExtra(Canvas.Handle, CharSpacing);
    Canvas.Font.Name := FontName;
    Canvas.Font.Color := Color;
    Canvas.Font.Size := FontSize;
    GetObject(Canvas.Font.Handle, SizeOf(LogFont), @LogFont);
    LogFont.lfEscapement := Escapement;
    LogFont.lfOrientation := Orientation;
    LogFont.lfWeight := Bold;
    LogFont.lfItalic := Byte(Italic);
    LogFont.lfUnderline := Byte(UnderLine);
    LogFont.lfStrikeOut := Byte(StrikeOut);
    LogFont.lfCharSet := Charset;
    if AntiAlias then
      LogFont.lfQuality := ANTIALIASED_QUALITY
    else
      LogFont.lfQuality := NONANTIALIASED_QUALITY;
    OldFontHandle := Canvas.Font.Handle;
    Canvas.Font.Handle := CreateFontIndirect(LogFont);
    try
...
    finally
      DeleteObject(Canvas.Font.Handle);
      Canvas.Font.Handle := OldFontHandle;
    end;
    SetTextCharacterExtra(Canvas.Handle, 0);
    SetGraphicsMode(Canvas.Handle, GM_COMPATIBLE);
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat