AGB  ·  Datenschutz  ·  Impressum  







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

Wie kann ich Textausgabe um 90° drehen ?

Ein Thema von madina · begonnen am 30. Jan 2006 · letzter Beitrag vom 31. Jan 2006
Antwort Antwort
madina

Registriert seit: 1. Nov 2005
153 Beiträge
 
#1

Wie kann ich Textausgabe um 90° drehen ?

  Alt 30. Jan 2006, 08:02
Hallo,

wie kann ich bei TCanvas.TextOut(x, y, 'Hallo'); den Text z.B. "Hallo" um 90° in uhrzeigersinn oder umgekehrt gedreht ausgeben?

mfg
  Mit Zitat antworten Zitat
hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Wie kann ich Textausgabe um 90° drehen ?

  Alt 30. Jan 2006, 08:13
Zitat von madina:
Hallo,

wie kann ich bei TCanvas.TextOut(x, y, 'Hallo'); den Text z.B. "Hallo" um 90° in uhrzeigersinn oder umgekehrt gedreht ausgeben?

mfg
Winkel := 90; // Senkrechter Text

GetObject(TCanvas(Canvas).Font.Handle, SizeOf(LogRec), @LogRec);
LogRec.lfEscapement := Winkel * 10;
LogRec.lfOutPrecision := OUT_TT_ONLY_PRECIS;
LogRec.lfWeight:=Widht;
NewFont := CreateFontIndirect(LogRec);
OldFont := SelectObject(TCanvas(Canvas).Handle,NewFont);
TCanvas(Canvas).Brush.Style := bsSolid;
TCanvas(Canvas).Brush.Color:=Color;
TCanvas(Canvas).TextOut(SpaltePos+px0, ypos, buf);
NewFont := SelectObject(TCanvas(Canvas).Handle,OldFont);
DeleteObject(NewFont);
  Mit Zitat antworten Zitat
Benutzerbild von Garfield
Garfield

Registriert seit: 9. Jul 2004
Ort: Aken (Anhalt-Bitterfeld)
1.334 Beiträge
 
Delphi XE5 Professional
 
#3

Re: Wie kann ich Textausgabe um 90° drehen ?

  Alt 30. Jan 2006, 08:15
Das müsste das richtige sein!?

http://www.delphi-fundgrube.de/faq14.htm#topic1405 bzw http://www.delphipraxis.net/internal...ct.php?t=17910
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof
  Mit Zitat antworten Zitat
madina

Registriert seit: 1. Nov 2005
153 Beiträge
 
#4

Re: Wie kann ich Textausgabe um 90° drehen ?

  Alt 31. Jan 2006, 08:14
Hallo,

ich habe eine einfache Lösung gefunden mit einer Zeile:

SelectObject(Canvas.Handle, CreateFont(40, 0, 2700, 0, fw_normal, 0, 0, 0, 1, oh_tt_precis, $10, 2, 4, 'Arial'));
Canvas.TextOut(x, y, 'Hallo');


nur dabei weiß ich nicht, ob nachdem drehen die Fonthöhe und Breite sich auch ändert dh HöheHoriz, BreiteHoriz sich drehen zu HöheVertikal und BreiteVertikal??

mfg
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#5

Re: Wie kann ich Textausgabe um 90° drehen ?

  Alt 31. Jan 2006, 08:19
Aber gegenüber hanspeters Code hast du ein Resourcenleck. Du gibst den alten Font oder den neuen Font nicht wieder frei. Somit kann ich dir den Code von hanspeter ans Herz legen - den kannst du dann auch mehrfach aufrufen ohne das es später zu einem Absturz wegen Resourcenmangel kommt.
  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 17:09 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