![]() |
Schnellere Alternative zu Drawtext
Hallo,
ich hoffe das ist die richtige Sparte. Ich will sehr viel Text als Grafik ausgeben, denn ich programmiere gerade meinen uralten Bild-Nach-Ascii-Converter neu^^. dabei will ich den benutzer die Möglichkeit geben, die Ausgabe wiederum als Grafik speichern zu können. Das Problem ist, das Drawtext dafür offensichtlich viel zu langsam ist. :wall: Das komische ist, dass der Text in einem Memo sehr viel schneller - nämlich sofort - ausgegeben wird. Hat jemand eine Idee, wie ich das ganze schneller ausgeben könnte? Habe ich vielleicht irgendwelche Performance-bremsenden Parameter drin?
Delphi-Quellcode:
In fresult steht der Text.
procedure TGraphicToText.ToGraphic(const dst: TGraphic);
var tmp: TBitmap; myrect: TRect; begin tmp := tBitmap.Create; try tmp.Canvas.Font.Name := 'Courier New'; tmp.Canvas.font.Size := 6; myrect.top := rect(0,0,0,0); // Text-Dimensionen ermitteln, wenn ich die Onlinehilfe richtig verstanden habe DrawText(tmp.Canvas.Handle,pansichar(fresult),length(fresult),myrect, DT_NOPREFIX or DT_CALCRECT or DT_NOCLIP); // Bitmapgröße einstellen tmp.Width := myrect.Right-myrect.Left; tmp.height := myrect.bottom-myrect.top; // text zeichnen DrawText(tmp.Canvas.Handle,pansichar(fresult),length(fresult),myrect, DT_NOPREFIX or DT_NOCLIP); // Ergebnis übernehmen dst.assign(tmp); finally tmp.free; end; end; |
Re: Schnellere Alternative zu Drawtext
Zitat:
|
Re: Schnellere Alternative zu Drawtext
Zitat:
|
Re: Schnellere Alternative zu Drawtext
Busch :/
|
Re: Schnellere Alternative zu Drawtext
Was ist dst? Ich gehe mal davon aus, dass diese Zeile:
Delphi-Quellcode:
so lange braucht. Mach am Anfang und am Ende der Prozdur mal ein ShowMessage und kommentier besagte Zeile mal aus.
dst.assign(tmp);
|
Re: Schnellere Alternative zu Drawtext
Zitat:
Trotzdem Danke! :spin2: |
Re: Schnellere Alternative zu Drawtext
Hallo,
in Deinem Quelltext verwendest Du DrawText zu Ermitteln der TextGröße. Dafür gibt es ![]() Gruß xaromz |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:20 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