Entwickler-Ecke
Multimedia / Grafik - Die Größe eines BMP ändern
Crazy K - Mi 26.03.03 12:27
Titel: Die Größe eines BMP ändern
Hallo, ich wäre äuch sehr dankbar, wenn ihr mir bei dem Problem hefen könntet: Ich will ein Picture in ein TImage laden, das funzt auch gut. Aber das Bild muss mit einer festen Größe geladen werden. nämlich 512 * 512 Pixel. Ich habe bisher folgenden Code. Vielleicht kann mir jemand schreiben, wie ich das auf die feste Größe bekomme. Ich habe hier schon ein bisschen im Forum nach so etwas gesucht habe aber bisher nichts gefunden
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| var picture: TPicture; bitmap: TBitmap;
begin picture := TPicture.Create; //bitmap := Tbitmap.Create; if OpenDialog1.Execute then begin //bitmap.LoadFromFile(OpenDialog1.FileName); picture.LoadFromFile(OpenDialog1.FileName); Image1.Picture := picture; //Image1.Canvas.Draw(0,0,bitmap); //bitmap.Free; end;
end; |
Nightmare_82 - Mi 26.03.03 13:52
Quelltext
1: 2: 3:
| Image1.Width:= 512; Image1.Height:= 512; Image1.Stretch:= true; |
soweit ich weiß, hab grad kein Delphi da.
Teutobod - Mi 26.03.03 14:03
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| var bitmap : TBitmap; arect : TRect;
begin if OpenDialog1.Execute then begin bitmap := Tbitmap.Create; bitmap.LoadFromFile(OpenDialog1.FileName); aRect.Left := 0; aRect.Top := 0; aRect.Right := 512; aRect.Bottom := 512; image1.Canvas.StretchDraw(aRect, bitmap); bitmap.free; end; |
und halt die image größe einstellen
Raphael O. - Mi 26.03.03 14:18
anstatt dir ne TRect variable zu machen, kannste auch einfach dass machen:
Quelltext
1:
| image1.Canvas.StretchDraw(Rect(0,0,512,512), bitmap); |
bin mir aber nicht 100% sicher, könnte sein, dass du anstatt Rect Trect schreiben musst... :? :wink:
Teutobod - Mi 26.03.03 14:23
| Zitat: |
| bin mir aber nicht 100% sicher, könnte sein, dass du anstatt Rect Trect schreiben musst... |
geht auch nur mit rect
Raphael O. - Mi 26.03.03 14:30
wahrscheinlich gehts nur mit rect...
aber da ich hier am Comp kein Delphi habe konnte ich es nicht testen... :wink:
Teutobod - Mi 26.03.03 14:57
sag ich ja, geht auch nur mit rect :lol:
Raphael O. - Mi 26.03.03 17:31
mein ich doch
:mrgreen: :mrgreen: :mrgreen:
Crazy K - Mi 26.03.03 17:58
Vielen dank für die schnellen Antworten. Klappt super!
Popov - Di 22.04.03 15:03
Übrigens, zum laden einer Bitmap im eine TImage gehe ich immer direkt über Bitmap:
So nicht:
Quelltext
1:
| Image1.Picture.LoadFromFile('c:\a.bmp'); |
So ist besser:
Quelltext
1:
| Image1.Picture.Bitmap.LoadFromFile('c:\a.bmp'); |
Der Unterschied liegt hier im Detail. Bitmap.LoadFromFile ist nur zum laden von Bitmaps mit der Endung .bmp. Picture.LoadFromFile ist zum laden verschiedene Formate (.wmf, .bmp, usw.). Vielleicht deshalb reagiert die erste Variante Alergisch auf kleinere Fehler. Das hier führt z.B. zu einer Fehlermeldung:
Quelltext
1:
| Image1.Picture.LoadFromFile('c:\a.bmp '); |
Dabei ist es nur ein Leerzeichen zuviel hinter bmp. Anscheinend wird es aber als Teil der Endung angesehen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 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!