Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by Uwe Raabe,
30. Dez 2021
Na ja: https://de.wikipedia.org/wiki/Vektorbildschirm
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by Uwe Raabe,
12. Mai 2020
Da Graphic ein Property ist, kann man das nicht als var-Parameter übergeben. Allerdings kann man noch einen anderen Class Helper schreiben:
type
TImageHelper = class helper for TImage
public
procedure UpdateImage(Source: TImageCollection; Index: Integer); overload;
procedure UpdateImage(Source: TImageCollection; const AName: string); overload;
end;
procedure...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by Uwe Raabe,
12. Mai 2020
Stimmt. SetGraphic macht ein Assign.
img := Images.GetScaledImage(Images.GetIndexByName('krankenwagen'), Image3.Width, Image3.Height); // img: TWICImage;
try
Image3.Picture.Graphic := img;
finally
img.Free;
end;
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by Uwe Raabe,
12. Mai 2020
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:
type
TImageCollectionHelper = class helper for TImageCollection
public
function GetScaledImage(AIndex, AWidth, AHeight: Integer): TWICImage; overload;
end;
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by Uwe Raabe,
12. Mai 2020
Umgekehrt: Die ImageCollection hat Bilder in verschiedenen Größen - die VirtualImageList nur die Größe, die in ihren Eigenschaften Width und Height angegeben ist. Die VirtualImageList passt diese Größe aber bei DPI-Änderungen an.
Kannst du mal konkret ein Beispielprojekt anhängen, mit dem man das mal nachstellen kann?
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by Uwe Raabe,
12. Mai 2020
Wieso musst du Stretch benutzen? Gib doch gleich die passende Größe bei GetSourceImage an.
Image1.Picture.Graphic := ImageCollection1.GetSourceImage(ImageCollection1.GetIndexByName('icon'), Image1.Width, Image1.Height);
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by Uwe Raabe,
24. Nov 2018
Die beiden Komponenten spielen ihre Vorteile eigentlich erst dann aus, wenn es um High DPI geht. Die ImageCollection hält zunächst erstmal nur die Icons, gegebenenfalls auch in unterschiedlichen Größen. Die VirtualImageList holt sich ihre Icons aus der ImageCollection in der Größe, die sie gerade braucht. Damit wird eine automatische Anpassung an unterschiedliche DPI Werte ermöglicht. Damit das...