![]() |
Grafik, die die gleiche Größe beibehalten soll
Hallo,
ich möchte gerne in einem bestimmten Bereich meines Formulars eine Zeichenfläche verwenden, die in ihrer Größe konstant bleibt, aber ihre Auflösung je nach Inhalt variieren kann. Zur Zeit verwende ich ein TImage Objekt, bei dem ich es leider aber nicht schaffe, bei konstanter Größe mehr darzustellen. Bei VB gab es den scale Befehl, der die interne Auflösung(Einheit) je nach Wünschen ändern konnte. Gibt es einen vergleichbaren Befehl auch in Delphi oder wie kann ich mein Vorhaben in die Tat umsetzen? Danke |
Re: Grafik, die die gleiche Größe beibehalten soll
Lade dein Bild in ein TBitmap und kopiere es dann mit StretchDraw/StretchBlt auf das Image. Wenn du als DestRect die Ausmaße deines Images angibst, wird das Bild genau in diese skaliert.
PS: Die ![]() |
Re: Grafik, die die gleiche Größe beibehalten soll
mhh, ich verstehe dich grad nicht so richtig, könntest du kurz die Programmzeilen posten, ich bekomm es nämlich so nicht ganz hin. Anzumerken ist vielleicht auch, dass ich selbst etwas auf das Bitmap zeichne und nichts lade.
|
Re: Grafik, die die gleiche Größe beibehalten soll
Delphi-Quellcode:
Das Bild wird einfach in das Image gequetscht, das Seitenverhältnis kann sich ändern.
var Bit: TBitmap;
begin //Bit instanziieren, Bild laden, zeichnen oder wasauchimmer with Image1 do StretchDraw(Rect(0, 0, Width, Height), Bit); Für konstantes Seitenverhältnis kannst du mal nach dem Thread von Prototypjack schauen. |
Re: Grafik, die die gleiche Größe beibehalten soll
Herzlichen Dank,
es funktioniert jetzt. Ich hatte das zwar so, hatte aber immer vergessen das Bitmap zu vergrößern, sodass es zu klein war zum darstellen :( |
Re: Grafik, die die gleiche Größe beibehalten soll
ist es auch möglich mein vorhaben mit einer paintbox zu machen, ich habe nämlich atm das Problem, das ich zuviel auf ein Bitmap zeichnen will (glaub ich zumindest). denn wenn meine Zeichnung nicht mehr drauf passt vergrößere ich das Bitmap. Anschließend zeichne ich alles neu, nur das ich dann auf meinem Image Bereiche habe, die ich nicht mehr gelöscht bekomme. Auf den Bereichen lässt sich jedoch draufzeichnen, sodass ein löschen möglich wäre.
Hat hierfür noch jemand einen Tipp? |
Re: Grafik, die die gleiche Größe beibehalten soll
so wie es unter basic "scale" gibt so gibt es unter Delphi "ScaleBy". Du musst natürlich vorher bei TImage "Stretched" auf True setzen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:28 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