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=true

    Bild in TPicture laden

    Hoehe / Breite ermitteln

    Skalierfaktoren ermitteln
    SollBreite / PictureBreite
    SollHoehe / PictureHoehe

    den 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.


Anmelden zum Antworten