In der Tat. GetSourceImage gibt einfach nur das nächst-größere Image zurück. In meinen Tests passte das zufällig.
Es gibt aber eine kleine Ergänzung, mit der das gewünschte Ergebnis erreicht werden kann:
Delphi-Quellcode:
type
TImageCollectionHelper = class helper for TImageCollection
public
function GetScaledImage(AIndex, AWidth, AHeight: Integer): TWICImage; overload;
end;
function TImageCollectionHelper.GetScaledImage(AIndex, AWidth, AHeight: Integer): TWICImage;
begin
Result := GetScaledImage(GetSourceImage(AIndex, AWidth, AHeight), AWidth, AHeight);
end;
...
Image3.Picture.Graphic := Images.GetScaledImage(Images.GetIndexByName('krankenwagen'), Image3.Width, Image3.Height);
...