TImage - Bild zoomen
-
Moin!
Wenn ich ein Bild laden möchte und dessen Grösse auslese und feststelle, dass es "zu gross" ist (also z.B. 1024x768 statt 640x480), wie kann ich das Bild dann verkleinern/ vergrössern (ohne diese komische stretch-Methode), also es auf meine gewünscte grösse bringen?
-
AutoSize=false
Stretch=trueBild in TPicture laden
Hoehe / Breite ermitteln
Skalierfaktoren ermitteln
SollBreite / PictureBreite
SollHoehe / PictureHoeheden geigneten davon nehmen und damit
Image-Width und Image-Height einstellen
Bild in Image laden
voila!
-
ähm... ohne strech...
Ich muss das tatsächliche bild auch wirklich vergrössern/verkleinern, dass es in mein TImage passt (dessen Werte fest sind)
-
el Clio schrieb:
ohne strech
Ganz ohne "Stretch" wirst du nicht auskommen. Wenn dir die StretchDraw-Funktion nicht gut genug ist musst du halt einen anderen Algorithmus verwenden, wie z.B. bilineares oder bikubisches Resampling. Dafür gibt's im Netz haufenweise Beispielcode, mit etwas Glück findest du ja auch eine entsprechende Delphi/BCB-Komponente.