![]() |
StretchDraw
Hallo ich möchte aus vielen kleinen 100Pixeln großen Bildern eine gesammte Karte erstellen ... nur dass die Karte nachher ziehmlich groß wird. Ich möchte deshalb die Bilder noch verkleinern, z.B. auf 70Pixel. Da dabei die Quallität eher weniger eine Rolle spiel, aber das ganze möglichst schnell gehen soll, habe ich es mit StretchDraw probiert.
Aber die größer der Bilder verändert sich nicht. Was mach ich falsch?!
Delphi-Quellcode:
gruß
procedure TForm5.FormShow(Sender: TObject);
VAR a,b : INTEGER; Bild :TBitmap; begin Karte.Picture.Bitmap.Height := unit1.YLENTH * 70; Karte.Picture.Bitmap.Width := unit1.XLENTH * 70; Karte.Picture.Bitmap.PixelFormat := pf32bit; Bild := TBitmap.Create; for a := 0 TO XLENTH-1 DO BEGIN for b := 0 to YLENTH-1 DO BEGIN Bild.Assign(Form2.getPicture(unit1.gkarte[a,b]).Graphic); Bild.Canvas.StretchDraw(Rect(0, 0, 70, 70),Bild); Karte.Picture.Bitmap.Canvas.Draw(b*70,a*70,Bild); END; END; Bild.Free; end; Evian |
Re: StretchDraw
eleganter und IMHO graphisch hochwertiger erreichst du das mit GDI+
![]() |
Re: StretchDraw
Wenn du schnell mit der Graphics unterwegs sein willst, dann benutze OpenGL. Dann ist StrechDraw kein Thema mehr ;)
|
Re: StretchDraw
:gruebel: also OpenGL für so'ne simple sache ist doch eher wie mit Kanonen auf Spatzen schießen
|
Re: StretchDraw
Zitat:
|
Re: StretchDraw
ist opengl denn noch zeitgemäss ? windows vista macht nur noch eine emulation mit dx!
also nimm lieber gdi+! die wird noch unterstützt |
Re: StretchDraw
Es gibt nicht nur Microsoft und Windows Reihe...Es gibt auch Linux, MacOs and Co.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:13 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 by Thomas Breitkreuz