Entwickler-Ecke
Multimedia / Grafik - TBitmap stretchen bzw. stauchen..
lemming - Mo 22.07.02 16:19
Titel: TBitmap stretchen bzw. stauchen..
...kicken, treten, drauf hüpfen. Hauptsache es wird kleiner.
Hi!
Ich habe ein TBitmap das 1240x1000 Pixel gross ist. Wenn ich es mit SaveToFile('c:\test.bmp') speichere ist die Datei 1.3MB gross. Mehr oder weniger, je nach Farbtiefe. Nun will ich es auf 150x120 bringen. Qualitätsverlust ist erlaubt, allerdings darf es nicht nur abgeschnitten werden - also gestretcht werden.
Bei TImage gibt es "Stretch". Wie kann ich das nun bei TBitmap machen?
Danke ciao, lemmi
Alfons-G - Mo 22.07.02 18:21
Du brauchst nicht drauf hüpfen :lol:
Das geht mit der Methode
StretchDraw von TCanvas.
Quelltext
1: 2: 3: 4:
| ... MeinRechteck := Rect (0, 0, 150,120); KleineBitmap.Canvas.StretchDraw (MeinRechteck, GrosseBitmap); ... |
Drumherum das Übliche (create, load, save, usw)
:idea:
lemming - Di 23.07.02 10:32
Titel: tja, manchmal
...sieht man den Wald vor lauter Bäumen nicht. Danke!
Bayo - Mi 21.08.02 23:20
Hi zusammen....
Ich habe das selbe Problem, wie lemming hatte, leider konnte ich es auch mit dem Eintrag von alfons-g nicht lösen!!
Kann mir evtl. jemand sagen, was am folgenden Code falsch ist??
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| var bmp: TBitmap; bmp2: TBitmap;
begin bmp := TBitmap.Create; bmp2 := TBitmap.Create; try bmp.LoadFromFile('D:\test.bmp'); bmp2.Canvas.StretchDraw(Rect(0, 0, 150, 120), bmp); bmp2.SaveToFile('D:\test2.bmp'); finally FreeAndNil(bmp); FreeAndNil(bmp2); end; |
Ich bedanke mich für eure Antworten!!
Grüsse Dominic
lemming - Do 22.08.02 08:13
Du musst vorher die Höhe und Breite von bmp2 angeben.
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| var bmp: TBitmap; bmp2: TBitmap;
begin bmp := TBitmap.Create; bmp2 := TBitmap.Create; try bmp.LoadFromFile('d:\test.bmp');
bmp2.Width := 150; bmp2.Height := 120;
bmp2.Canvas.StretchDraw(Rect(0, 0, 150, 120), bmp); bmp2.SaveToFile('d:\test2.bmp'); finally FreeAndNil(bmp); FreeAndNil(bmp2); end; end; |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 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!