Größe der Glyph's in der TImagelist einstellen

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
Lorca
Beiträge: 196
Registriert: Di 3. Nov 2020, 12:25

Größe der Glyph's in der TImagelist einstellen

Beitrag von Lorca »

Hallo zusammen, :)

ich würde gerne die TImagelist für die Glyphs meiner SpeedButtons verwenden.
Jedoch werden diese Glyphs in der TImageList sehr viel kleiner angezeigt, als wenn ich diese hart im Designmodus
im Button ( Property: Glyph) selbst einstelle.

Nun bin ich dann hergegangen, und habe den Wert: TImageList.ImageWidth auf 20 gestellt.
Die Größe währe nun OK, aber das Glyph ist äußerst unscharf.
Auch eine Größenänderung in der TImagelist (Neue Größe / Auflösung ) bringt gar nix.

Lässt sich das irgendwie in guter Größe und Scharf darstellen?
Hat jemand eine Idee?

Gruß
Lorca :)

wp_xyz
Beiträge: 4895
Registriert: Fr 8. Apr 2011, 09:01

Re: Größe der Glyph's in der TImagelist einstellen

Beitrag von wp_xyz »

TImageList.ImageWidth gibt es nicht. Meinst du TImageList.Width? Wenn ja: das ist die Größe der Bilder bei der Standardauflösung (96ppi). Wenn du da (und bei TImageList.Height) den Wert 20 einträgst, musst du die Bilder auch in der Größe 20x20 in die ImageList laden. Nimmst du die Bilder in der weitverbreiteten Größe 16x16 wird entsprechend auf 20x20 hochskaliert. Hochskalieren bedeutet in der Regel Qualitätsverlust. Wenn du die 20er Größe nicht hast, dann nimm stattdessen größere Bilder - Herunterskalieren ist immer besser.

Im beigefügten Screenshot siehst du BitBtns mit 20x20 Icon jeweils aus einer ImageList, in die, von links nach rechts, 16x16, 24x24 und 32x32 Bilder geladen wurden.

Wenn du für die Icons eine Vektor-Quelle hast (z.B. svg - bei den Lazarus-General-Purpose-Bilder gibt es diese auf https://sourceforge.net/p/lazarus-ccr/s ... nd%20Hahn)), dann kannst du diese in Inkscape laden und als png in beliebiger Größe abspeichern.

Meinst du dagegen TSpeedbutton.ImagesWidth? Auch das ist die Größe der Bilder, die bei 96ppi verwendet werden sollen, aber nur spezifisch für den Button - man kann dieselbe ImageList bei anderen Controls in anderer Größe verwenden.
Dateianhänge
imagelist.png
imagelist.png (10.5 KiB) 4268 mal betrachtet

Lorca
Beiträge: 196
Registriert: Di 3. Nov 2020, 12:25

Re: Größe der Glyph's in der TImagelist einstellen

Beitrag von Lorca »

Hallo zusammen, hallo wp_xyz :)

Herzlichen Dank für Deine freundliche Antwort.
Du hast natürlich recht, TImageList.ImageWidth gibt es nicht.
Und ja, ich habe die TSpeedbutton.Images.Width geändert. War echt grausam.
Und das mit der TImageList.WIDTH und HEIGHT habe ich NIE betrachtet. :( Desch war ä Fähler :)

Coole Sache, dank Deiner Info funzt das jetzt. :D
Ich lade nun nicht mehr die 150ger PNGs ein sondern die 200er. Und nun wird es auch sauber mit dem Scalieren. :)
Ist eine wirklich gute Sache, wenn man Leute fragen kann die Ahnung davon haben.


Ganz lieben Dank.

Gruß
Lorca :)

Antworten