Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Verständnisschwierigkeiten ImageCollection / ImageList (https://www.delphipraxis.net/204663-verstaendnisschwierigkeiten-imagecollection-imagelist.html)

Der schöne Günther 17. Jun 2020 08:26

Verständnisschwierigkeiten ImageCollection / ImageList
 
Liste der Anhänge anzeigen (Anzahl: 4)
Guten Tag liebe Gemeinde,

Ich habe eine Frage zur Verwendung der Komponenten für unterschiedliche Pixeldichten ("DPI-Skalierung), also ImageCollection und VirtualImageList.

An sich bin ich positiv überrascht dass es genau tut was ich mir gewünscht habe, ich bin aber verwirrt durch eine Anzeige in der IDE, ich denke die ist falsch.

Ich gehe es mal durch:
  1. Hinzufügen eines Icons in drei Größen (64, 80, 96 Pixel) zu einer ImageCollection
    Anhang 52692
  2. Verbinden der VirtualImageList mit der Collection, Hinzufügen des Icons
    Anhang 52693
  3. So sieht es in der IDE aus
    Anhang 52694
  4. So sieht es in der Anwendung aus (125 % Skalierung)
    Anhang 52695

Nein, ich meine nicht den Unterschied zwischen Bild 3 und 4 - Der ist völlig plausibel 👍. Die IDE wird stumpf hochskaliert, die laufende Anwendung hingegen wird scharf gezeichnet und nimmt auch die nächsthöhere Auflösung. Das ist alles ok.

Was ich meine: Woher nimmt er das gelbe Icon? Laut VirtualImageList (Bild 2) existiert ja gar kein gelbes Icon. Der Dialog meint, das Bild in der 80er-Auflösung würde ihn nicht interessieren und stattdessen zeigt er lieber eine nicht existierende 128er-Fassung an.

Kurzfassung: Die VCL-Anwendung tut genau was sie soll, aber die Vorschau im TVirtualImageList ist meiner Meinung nach völlig für die Tonne. Ich verstehe nicht was er mir überhaupt zeigen soll und welchen Nutzen er hat.

TiGü 17. Jun 2020 08:38

AW: Verständnisschwierigkeiten ImageCollection / ImageList
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1467508)
Kurzfassung: Die VCL-Anwendung tut genau was sie soll, aber die Vorschau im TVirtualImageList ist meiner Meinung nach völlig für die Tonne. Ich verstehe nicht was er mir überhaupt zeigen soll und welchen Nutzen er hat.

Günni, du bist doch nun schon lang genug dabei, um zu wissen, dass der erste Release einer neuen Delphi-IDE mit neuen Features nicht ganz rund läuft und das erst mit Update 1, 2 und ggf. 3 besser wird.

Aus Interesse: Welche Pixelzahl (Höhe x Breite) steht denn in Bild drei beim dem zweiten und größsten roten Symbol rechts?

MEissing 17. Jun 2020 09:01

AW: Verständnisschwierigkeiten ImageCollection / ImageList
 
64*1,25 = 80

Also wird auch bei 125% Skalierung das 80x80 Bild aus der Collection genommen. Die Verbindung zwischen VirtualImageList und der ImageCollection ist ja vorhanden! Skaliert wird nur (in der VirtualImageList), wenn die Collection das nicht hergibt. Hier tut sie es aber.

PEBKAC (sorry)
http://docwiki.embarcadero.com/RADSt...rtualImageList

Der schöne Günther 17. Jun 2020 09:04

AW: Verständnisschwierigkeiten ImageCollection / ImageList
 
Liste der Anhänge anzeigen (Anzahl: 2)
Zitat:

Zitat von MEissing (Beitrag 1467512)
Die Verbindung zwischen VirtualImageList und der ImageCollection ist ja vorhanden! Skaliert wird nur (in der VirtualImageList), wenn die Collection das nicht hergibt. Hier tut sie es aber.

Sorry, ich habe es immer noch nicht verstanden. Das DocWiki habe ich natürlich als allererstes gelesen.
Die Verbindung zwischen beiden existiert, die Anwendung verhält sich auch vorbildlich.
Ich verstehe nur nicht weshalb mir der Editor der VirtualImageList das Bild in 80 Pixeln nicht zeigt und sich stattdessen noch eine 128er Auflösung ausdenkt.

Zitat:

Zitat von TiGü (Beitrag 1467510)
Aus Interesse: Welche Pixelzahl (Höhe x Breite) steht denn in Bild drei beim dem zweiten und größsten roten Symbol rechts?

Er zeigt dort, in der VirtualImageList drei Symbole an:
  1. 64 × 64
  2. 96 × 96
  3. 128 × 128
Anhang 52696

In der ImageCollection zeigt er korrekt an was ich auch wirklich hinzugefügt habe:
Anhang 52697

MEissing 17. Jun 2020 09:20

AW: Verständnisschwierigkeiten ImageCollection / ImageList
 
Es versucht es mal zu verdeutlichen

ImageCollection
ImgA -> ImgA1 / ImgA2 / ImgA3.... (100, 125, 150, ...% des Bildes ImgA)
ImgB -> ImgB1 / ImgB2 / ImgB3.... (100, 125, 150, ...% des Bildes ImgB)
ImgC -> ImcC1 / ImcC2 / ImcC3.... (100, 125, 150, ...% des Bildes ImgC)

Jetzt kommt die VirtualImageList
Die nimmt erstmal ImgA, ImgB und ImgC auf

Stellst du ImgA als Glyph für eine Komponente (ToolBarButton, Button, ....) ein, dann nimmt er ImgA

Skaliert man nun die Form, dann:
- Schaut er nach, ob es ein unskaliertes Bild von ImgA im passenden Skalierungsfaktor in der ImageCollection gibt!
- Hier würde er bei 125% Skalierung dann ImgA2 nehmen
- Und das ist bei dir gelb

Es ist nicht vorgesehen, daß man unter ImgA mit seinen verschiedenen Auflösungen (100, 125, 150%) auch verschiedene Images nimmt.

Generell empfiehlt es sich einfach das ImgA/ImgA1 möglichst GROß zu wählen, so daß kleinere passend runterskaliert werden.

Der schöne Günther 17. Jun 2020 09:22

AW: Verständnisschwierigkeiten ImageCollection / ImageList
 
Vielen Dank für die Antwort.

Das Verhalten bemängele ich ja auch gar nicht, das ist alles 100%ig korrekt.

Mir geht es nur in der IDE um die Vorschaubilder im Editor der TVirtualImageList. Die machen keinen Sinn.

MEissing 17. Jun 2020 11:33

AW: Verständnisschwierigkeiten ImageCollection / ImageList
 
Ich habe zu ergründen versucht, wo das gelbe Icon herkommt.

IMHO macht auch die VirtualImageList nix falsch, die nimmt halt das erste, rote Icon. Wichtig ist auf‘m Platz... also zur Laufzeit

Der schöne Günther 17. Jun 2020 11:50

AW: Verständnisschwierigkeiten ImageCollection / ImageList
 
Richtig, zur Laufzeit ist alles bestens. Ich finde trotzdem dass der Editor in der IDE verwirrend ist, denn er zeigt das gelbe Icon nicht, und dafür ein 128er Icon das überhaupt nicht existiert. Soweit mich heute keiner mit Gewalt dran hindert mache ich einen Eintrag auf quality.embarcadero.com...

Uwe Raabe 17. Jun 2020 14:31

AW: Verständnisschwierigkeiten ImageCollection / ImageList
 
Ich kann es jetzt nicht belegen, aber ich vermute, der Bilderlisten-Editor zeigt Bilder für die Auflösungen 100%, 150%, 200% und 300% an (analog zu FMX). Dabei nimmt er vorhandene Auflösungen aus der Collection oder skaliert die nächstliegende. Demnach sollten hier Icons für 64x64, 96x96, 128x128 und 192x192 auftauchen, aber da wird eine Begrenzung der Bildgröße nach oben zuschlagen, weshalb die 192x192 nicht angezeigt werden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:23 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz