AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Text vertikal ausdrucken

Ein Thema von Philippe Sch. · begonnen am 14. Jan 2003 · letzter Beitrag vom 14. Jan 2003
Antwort Antwort
Philippe Sch.

Registriert seit: 14. Dez 2002
Ort: Solothurn/Schweiz
25 Beiträge
 
Delphi 5 Professional
 
#1

Text vertikal ausdrucken

  Alt 14. Jan 2003, 07:43
Hi, ich sollte auf einer Etikette, wo ich sonst den Text mit Printer.Canvas.Textout ausdrucke und positioniere, auch einige Ziffern präzise plaziert VERTIKAL ausdrucken. Hat mir jemand einen Tip, wie ich das machen könnte? Ist die MethodeFont-abhängig ('Sans Serif' für den übrigen Text).
Vielen Dank
Philippe
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#2
  Alt 14. Jan 2003, 09: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 Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Philippe Sch.

Registriert seit: 14. Dez 2002
Ort: Solothurn/Schweiz
25 Beiträge
 
Delphi 5 Professional
 
#3
  Alt 14. Jan 2003, 10:34
danke für den Tip. Werde es heute Abend ausprobieren.Noch eine Frage: geht das mit jedem Font,oder braucht es dazu spezielle?
vielen Dank für die Hilfe. Bin Amateur, früher Clipper, jetzt Delphi
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#4
  Alt 14. Jan 2003, 10:38
Es sollte schon ein TrueType bzw. eine OpenType Font sein. Also eigentlich mit jeder. Wie es dann aussieht...
......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz