Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Grafik, die die gleiche Größe beibehalten soll (https://www.delphipraxis.net/43187-grafik-die-die-gleiche-groesse-beibehalten-soll.html)

test3r 30. Mär 2005 13:04


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

Khabarakh 30. Mär 2005 13:15

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 GR32-Lib bietet noch ein paar Filter, wie man es aus Zeichenprogrammen kennt (keiner, bilinear, bikubisch...).

test3r 30. Mär 2005 13:30

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.

Khabarakh 31. Mär 2005 12:56

Re: Grafik, die die gleiche Größe beibehalten soll
 
Delphi-Quellcode:
var Bit: TBitmap;
begin
  //Bit instanziieren, Bild laden, zeichnen oder wasauchimmer
with Image1 do
  StretchDraw(Rect(0, 0, Width, Height), Bit);
Das Bild wird einfach in das Image gequetscht, das Seitenverhältnis kann sich ändern.
Für konstantes Seitenverhältnis kannst du mal nach dem Thread von Prototypjack schauen.

test3r 31. Mär 2005 13:54

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 :(

test3r 31. Mär 2005 18:59

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?

SirThornberry 31. Mär 2005 19:29

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 10:03 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