Re: Prozedur für jeden Buchstaben
Hallo René,
tja ich würde ja auch gerne weniger Prozeduren haben, aber wie soll ich das anstellen, wenn ich jedes Zeichen "malen" will. Falls du da Ideen hast, immer her damit ... Steve |
Re: Prozedur für jeden Buchstaben
Hi burn,
du kannst zum Beispiel die "Malvorschrift" je Zeichen in einem Array speichern und dann in einer Prozedur zum Malen verwenden. |
Re: Prozedur für jeden Buchstaben
Kannst du mal eine der Prozeduren posten, welche du zum "malen" benutzt?
|
Re: Prozedur für jeden Buchstaben
Hallo Smudo ...
in etwa so ... is aber nur ganz grob ..
Delphi-Quellcode:
wobei in TextMoveto und TextLineTo direkt in eine Stringlist geschrieben wird
procedure Letter_1;
begin TextMoveTo(0,0); TextLineTo(0,7); end; und noch diverse Transformationen durchgeführt werden...
Delphi-Quellcode:
Den Text lass ich dann ungefähr so zeichnen
procedure TextMoveTo(x,y: Double);
begin Transform(x,y); // eigene procedure List.Add(FloatToStr(x) + ' ' + FloatToStr(y) + ' m') // String-List end;
Delphi-Quellcode:
Steve
procedure TextDraw(StartX,StartY,Winkel: Double; Text: String);
var i,c : integer begin for i := 1 to length(Text) do begin c := ord(Text[i]); case c of 49 : Letter_1; end; end; end; |
Re: Prozedur für jeden Buchstaben
So würde ich es etwas übersichtlicher finden.
Eine Prozedur zum Textschreiben und eine um die einzelnen Zeichen zu zeichnen.
Delphi-Quellcode:
Grüße
procedure writeLetter(c:char);
begin case c of '1' : begin TextMoveTo(0,0); TextLineTo(0,7); end; '2' : .... end; end; procedure TextDraw(StartX,StartY,Winkel: Double; Text: String); var i,c : integer begin for i := 1 to length(Text) do begin {c := ord(Text[i]); case c of 49 : Letter_1; end; } writeLetter(Text[i]); end; end; Klaus |
Re: Prozedur für jeden Buchstaben
So wie Klaus das schrieb, meinte ich das auch.
Ist das so nicht machbar? |
Re: Prozedur für jeden Buchstaben
Klar ist das auch machbar ...
nur das wird eine riiiiiieeeesige Prozedur ... (nicht jedes Zeichen ist mit einem Strich gemalt) und das dann alles in einer prozedur ??? Da finde ich persönlich das eine Prozedur pro Zeichen übersichtlicher ist ... Steve |
Re: Prozedur für jeden Buchstaben
Na das werden doch so mindestens 50 oder mehr Procs.
Und wie gesagt, vieles wird man vielleicht optimieren können, sozusagen den kleinsten gemeinsamen Nenner finden. Ich stell mir das so vor:
Delphi-Quellcode:
Das wären bei einer digitalen Darstellung die waagerechten Striche für die Ziffern.
if c in ['0', '2', '3', '5', '6', '7', '8', '9']
then male_strich_oben; if c in ['2', '3', '4', '5', '6', '8', '9'] then male_strich_mitte; if c in ['0', '2', '3', '5', '6', '8', '9'] then male_strich_unten; ... Natürlich ist das nicht besonders übersichtlich. Besser wärs, für jedes Zeichen vorher festzulegen, welche Striche gemalt werden sollen. Aber der Vorschlag kam ja schon mal. |
Re: Prozedur für jeden Buchstaben
Wäre es nicht noch einfacher, eine eigene Schriftart zu erstellen?
|
Re: Prozedur für jeden Buchstaben
@ smudo
Ja, das würde gehen ist aber wie du selber schon sagst ziehmlich unübersichtlich ... @ Die MuhKuh Ich muss die Zeichen selber malen, da die Datei-Formate in die ich ausgeben will, die Schriftarten nicht so unterstützen wie ich das will ... Viel Fleißarbeit liegt noch vor mir ( bin erst beim kleinen o ) und das Grund-Problem ist ja eigentlich gelöst .. Besten Dank nochmal an alle ... Steve |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11: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