Die automatische Resize-Methode bei TImage liefert öfter mal unschöne Ergebnisse, besonders auch dann, wenn größere Bilder in ein kleineres TImage gepresst werden, bzw. die Auflösungen des Bildes nicht exakt mit dem des TImage übereinstimmen.
Hier mal ein Codeschnipsel aus einem meiner Programme, wo ich größere Bilder verkleinere. Du musst dann halt die Größe des SmallBmp auf die Größe des TImage setzen und das dann im Anschluss zuweisen.
Delphi-Quelltext
1: 2:
| SetStretchBltMode(SmallBmp.Canvas.Handle, HALFTONE); StretchBlt(SmallBmp.Canvas.Handle, 0 ,0, SmallBmp.Width, SmallBmp.Height, BigBmp.Canvas.Handle, 0, 0, BigBmp.Width, BigBmp.Height, SRCCopy); |
Ist zwar bei mir alles VCL, aber vielleicht hilft dir das trotzdem weiter.
We are, we were and will not be.