![]() |
GR32 - Drawtext rotiert, und Unicode
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo alle
ich habe angefangen die Füße in GR32 naß zu machen. So weit eigentlich iO. Ich habe die Demos durchgegangen, alles einfach zu verstehen. Leider bin ich auf ein Stein gestoßen: Gedrehter Text als Widestring: Sehe mein Beispiel: ich habe eine TNTUnicodeEdit, und zeichne mein Text mit sowohl SimpleText als TText32.draw. Ergebniss: mit "normal" geht alles wie im Demo, wie gewollt. Mit Chinesish wird offenbar das TText32.DrawText die Bytes einzeln ausgibt. Frage: wie erreiche ich die Kombination: - Delphi 6 (oder 7) - UnicodeText - Gedrehter Ausgabe kann sein das GR32 doch nicht hier das beste Tool ist. Oder wurde Text32.draw() später für unicodeStrings korrigiert ? Danke an alle Inputs. Mein Code:
Delphi-Quellcode:
procedure TForm1.tntbtbtn1Click(Sender: TObject);
var cl : TColor32; r1: TFloatRect; text32: TText32; thefont : TTrueTypeFont; x1, y1: integer; myfont: TFont; begin img32.SetupBitmap( true, clwhite32 ); thefont := TrueTypeFontClass.Create('Arial', randomrange(20,50)); myfont := tfont.Create; myfont.Size := 32; myfont.Name := 'Arial Unicode MS'; x1 := RandomRange (0, img32.Width div 2); y1 := randomrange(0, img32.Height div 2); // das geht gut: SimpleText(img32.Bitmap, myfont, x1,y1, 'SimpleText: ' + tntedt1.Text, clBlack32); cl := clBlack32; text32 := ttext32.Create; // --------- Geht NICHT // with text32 do try Angle := 15; // procedure TText32.Draw(bitmap: TBitmap32; X, Y: single; const text: widestring; ttFont: TTrueTypeFont; color: TColor32); draw ( img32.Bitmap, x1,y1, 'text32.draw: ' + tntedt1.text, thefont, clblack32 ); finally free; end; img32.Bitmap.EndUpdate; end; |
AW: GR32 - Drawtext rotiert, und Unicode
Muss es wirklich noch diese Antike Delphi-Version sein?
Wieso nimmst du keine aktuelle Delphi-Version die für den heimgebrauch kostenlos ist und den Funktionsumfang der Pro-Version hat? |
AW: GR32 - Drawtext rotiert, und Unicode
Ja, leider so. Muss eine "antike und alte Version" sein.
Ich habe 50-60.000 Zeilen Code, und viele alte Module. |
AW: GR32 - Drawtext rotiert, und Unicode
Dann musst du alles per Hand machen.
Allso statt die Methoden der VCL-Controls/Objekte aufrufen direkt die dahinter befindliche Wide-Version der WinAPI-Funktion. |
AW: GR32 - Drawtext rotiert, und Unicode
Hmm..
oder versuche mal
Delphi-Quellcode:
Es könnte sein, das D6 zunächst aus 'text32.draw: ' + tntedt1.text einen AnsiString macht und diesen dann wieder in nen WideString umwandelt...
var
W : WideString; ... begin .. W := WideString('text32.draw: ') + tntedt1.text; draw ( img32.Bitmap, x1,y1, W, thefont, clblack32 ); .. end; Nur so ne Vermutung... |
AW: GR32 - Drawtext rotiert, und Unicode
Ich weiß ja noch nicht was das Ziel, abgesehen von gedrehtem Text, sein soll.
Also wenn Du es schaffst den Wunschtext darzustellen, da würde ich diese Region als Bitmap auslesen und dann das Bitmap drehen, dem DIB ist der Inhalt egal. |
AW: GR32 - Drawtext rotiert, und Unicode
Zitat:
Aber es geht ihm um den Text selbst dieser ist nicht UniCode. Zitat:
Mit Region ist da nix. ;) gruss |
AW: GR32 - Drawtext rotiert, und Unicode
Zitat:
Ich hatte früher selber versucht mit Unicode "picth" zu machen, und dabei jeder "Zeichen" für sich ausgeben. Geht OK, bis die "transforming " chars in Spiel kommen. |
AW: GR32 - Drawtext rotiert, und Unicode
Wie sieht denn Deine UNICODE-Definition aus?
Zitat:
Gruß KH |
AW: GR32 - Drawtext rotiert, und Unicode
Zitat:
Ich bin recht sicher es wird von GR32 jeder Byte einzeln behandelt, und deshalb geht es schief. Ist der Entwickler von GR32 anzusprechen ? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz