Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi StretchDraw (https://www.delphipraxis.net/52656-stretchdraw.html)

Evian 1. Sep 2005 01:43


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:
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;
gruß

Evian

MarcoWarm 1. Sep 2005 06:59

Re: StretchDraw
 
eleganter und IMHO graphisch hochwertiger erreichst du das mit GDI+
http://www.delphi-forum.de/topic_GDI...455e9f5f4b26cc

sniper_w 1. Sep 2005 08:01

Re: StretchDraw
 
Wenn du schnell mit der Graphics unterwegs sein willst, dann benutze OpenGL. Dann ist StrechDraw kein Thema mehr ;)

MarcoWarm 1. Sep 2005 08:08

Re: StretchDraw
 
:gruebel: also OpenGL für so'ne simple sache ist doch eher wie mit Kanonen auf Spatzen schießen

sniper_w 1. Sep 2005 08:14

Re: StretchDraw
 
Zitat:

also OpenGL für so'ne simple sache ist doch eher wie mit Kanonen auf Spatzen schießen
Das sehe ich anders (ist ja eine Ansichtssache). OGL ist gerade da für die Grafik und ist wesentlich schneller als angebotene (auf die Grafik bezogen) Win32 API Funktionen.

generic 1. Sep 2005 09:41

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

sniper_w 1. Sep 2005 09:48

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