Entwickler-Ecke
Multimedia / Grafik - Bei einem Bitmap die Größe ändern.
patmann2001 - Mi 16.10.02 17:41
Titel: Bei einem Bitmap die Größe ändern.
Hallo
Ich weiss das man mit
Quelltext
1:
| bmp.Canvas.StretchDraw(myrect,bmp); |
Die Grösse eines Bitmaps verändern kann. Doch leider kommt es bei mir immer wieder zu Fehlern in der Datei.
Also hier meine Frage. Wie mach StrechDraw das, ein Bild auf eine andere Größe zu bringen.
Ich suche also sozusagen den Quellcode zu der Function StrechDraw oder etwas ähnliches.
cu Patmann
Anonymous - Mi 16.10.02 23:51
Ich hoffe, daß dir die Funktionsweise von TRect bekannt ist. TRect ist ein Record und enthält vier Koordinaten. StretchDraw past das Bild in diese Koordinaten ein. Dabei werden die Proportionen nicht beachtet und müssen bei Bedarf selbst berechnet werden.
Allerdings wird es bei deinem Code zu Problemen kommen:
Quelltext
1:
| bmp.Canvas.StretchDraw(myrect,bmp); |
verkleinert nicht das Bmp Bild, sondern zeichent ein weiteres Bild auf dem Bild. Du solltest also eine zweite Bitmap von der Größe von myRect erstellen und dort dein Bild zeichen. Alternativ kannst du das Bmp Bild nachträglich anpassen. Zu Problem könnte es kommen wenn das gestrechte Bild größer ist als das Alte. Dann hast du nur noch ein Teil des Bildes. Besser ist eben ein zweites Bild.
Quelltext
1:
| bmp2.Canvas.StretchDraw(rect(0, 0, 32, 32),bmp); |
Dieses Beispiel zeichent Bmp in eine zweites Bild von der Größe 32x32. Bmp2 muß vorher die Koordinaten 32x32 zugewiesen bekommen. Du kannst auch myRect := rect(0, 0, 32, 32) machen.
Wie funktioniert StrechDraw? So in etwas wie CopyRect. Nur sparst du dir eine zweite Rectvariable, da StrechDraw von der jetzigen göße des Bildes ausgeht.
patmann2001 - Do 17.10.02 09:14
Hey danke,
das ist eine gute Erklärung.
Das war auch meist mein Problem, das ich irgendwie zwei Bilder in einem hatte. 8)
cu Patmann
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!