Bezeichnung
ICON -- lädt ein Piktogramm für den späteren Gebrauch vor (V8.0)
Übersicht
@ICON id, filename$[, table]
@ICON id, table
Beschreibung
Mit dieser Präprozessor-Anweisung kann ein Piktogramm für die spätere Verwendung entweder aus Bilddatei- oder aus Pinselquellen vorgeladen werden. In Hollywood ist ein Piktogramm eine Sammlung desselben Bildes in verschiedenen Größen und Farbtiefen.

In Hollywood ist ein Piktogramm eine Sammlung desselben Bildes in verschiedenen Größen. Durch die Verwendung individuell entworfener Bilder für jede Größe wird eine bessere Qualität erzielt, anstatt nur ein und dasselbe Bild für jede Größe zu skalieren. Dies trifft insbesondere bei kleineren Bildgrößen zu, die viel besser aussehen, wenn sie speziell für ihre Auflösung ausgelegt sind. Typische Größen für die einzelnen Bilder innerhalb eines Piktogrammes sind 16x16, 24x24, 32x32, 48x48, 64x64, 96x96, 128x128, 256x256 und 512x512. Sie können jedoch auch völlig willkürlich sein. Der Vorteil, dass ein Bild in verschiedenen Größen in einem Piktogramm angezeigt wird, besteht darin, dass Hollywood in Abhängigkeit von der Bildschirmauflösung eine geeignete Größe auswählen kann.

Außerdem können Bilder innerhalb von Hollywood-Piktogramme auch speziell für unterschiedliche Farbtiefen gestaltet werden. Sie können beispielsweise 24x24-Bilder in verschiedenen Farbtiefen bereitstellen, z.B. in 256 Farben (8 Bit) und in Echtfarbe (True Color) mit Alphakanal (32 Bit). So ist es möglich, Bilder gleicher Größe innerhalb eines Piktogrammes zu haben, solange sie sich in ihrer Farbtiefe unterscheiden. Damit hat Hollywood einmal mehr den Vorteil, für eine bestimmte Bildschirmauflösung und Farbtiefe das beste Bild aus einem Piktogramm auszuwählen.

Schließlich kann jedes Bild innerhalb eines Piktogramm-Sets zwei verschiedene Zustände haben: Normal und Ausgewählt. Normalerweise braucht man immer nur den normalen Zustand, aber auf AmigaOS und kompatiblen Geräten wird manchmal auch der ausgewählte Zustand verwendet.

Diese Präprozessor-Anweisung kann auf zwei verschiedene Arten verwendet werden: Sie können entweder eine einzelne Datei in filename$ angeben, die als Hollywood-Piktogramm geladen werden soll oder Sie können eine Tabelle angeben, um ein Hollywood-Piktogramm aus einzelnen Bildern zu erstellen, die entweder als Pinsel oder als externe Dateien definiert werden.

Wenn Sie die erste Syntax verwenden, d.h. eine einzige Datei in filename$ übergeben, erwartet @ICON, dass die Datei im benutzerdefinierten PNG-Piktogrammformat von Hollywood vorliegt. @ICON bewirkt in diesem Fall dasselbe wie der Befehl LoadIcon() mit der Ausnahme, dass das Piktogramm vorinstalliert ist und beim Kompilieren mit dem Applet oder der ausführbaren Datei verknüpft wird. Siehe LoadIcon für Details.

Die erste Syntax akzeptiert auch ein Tabellenargument, das auf den Parameter filename$ folgt. Die folgenden Felder in der Tabelle können festgelegt werden:

Link:
Setzen Sie dieses Feld auf False, wenn dieses Piktogramm beim Kompilieren des Skripts nicht mit Ihrer ausführbaren Datei/Ihrem Applet verknüpft werden soll. Dieses Feld ist standardmäßig auf True gesetzt, was bedeutet, dass das Piktogramm mit Ihrer ausführbaren Datei/Ihrem Applet verknüpft ist, wenn sich Hollywood im Kompiliermodus befindet.

Loader:
Mit diesem Tag können Sie ein oder mehrere Formatlademodule angeben, die zum Laden dieses Piktogrammes benutzt werden sollen. Dies muss als Zeichenkette festgelegt werden, die den Namen eines oder mehrerer Formatlademodulen enthält. Standardmäßig wird der mit SetDefaultLoader() eingestellte Lader verwendet. Siehe Lade- und Adaptermodule für Details.

Adapter:
Mit diesem Tag können Sie einen oder mehrere Dateiadapter angeben, die zum Öffnen der angegebenen Datei benutzt werden sollen. Dies muss auf eine Zeichenkette gesetzt werden, die den Namen eines oder mehrerer Adapter enthält. Standardmäßig wird der mit SetDefaultAdapter() eingestellte Adapter verwendet. Siehe Lade- und Adaptermodule für Details.

UserTags:
Dieser Tag kann verwendet werden, um zusätzliche Daten anzugeben, die an Lader und Adapter übergeben werden sollen. Wenn Sie diesen Tag verwenden, müssen Sie ihn auf eine Tabelle mit Schlüssel-Wert-Paaren setzen, die die zusätzlichen Daten enthalten, die an Plugins übergeben werden sollen. Siehe Benutzer-Tags für Details. (V10.0)

Alternativ können Sie die zweite Syntax verwenden, mit der Sie ein Piktogramm aus einem Satz von Quellbildern erstellen können, die entweder externe Dateien oder Hollywood-Pinsel sind. In diesem Fall müssen Sie ein einzelnes Tabellenargument angeben, das eine Anzahl von Untertabellen enthalten muss, eine für jede Bildgröße, die Sie dem Piktogramm hinzufügen möchten. Dies ist ähnlich wie der BefehlCreateIcon(). Siehe CreateIcon für Details.

Die einzelnen Untertabellen können die folgenden Tags verwenden:

Type:
Mit diesem Tag können Sie den Quelltyp des Bildes festlegen, das Sie zum Piktogramm hinzufügen möchten. Dies kann #BRUSH sein, wenn Sie einen Pinsel hinzufügen wollen oder #FILE, wenn Sie ein Bild aus einer externen Dateiquelle hinzufügen möchten. Der Standardwert ist #FILE. Beachten Sie, dass sich diese Standardeinstellung von der Standardeinstellung des Befehls CreateIcon() und AddIconImage() unterscheidet. Da ist #BRUSH voreingestellt.

Image:
Dieser Tag gibt die tatsächliche Bildquelle an und muss in jeder Untertabelle festgelegt werden. Wenn Type auf #BRUSH gesetzt wurde, müssen Sie diesen Tag auf den Identifikator eines Pinsels setzen, den Sie dem Piktogramm hinzufügen möchten. Der Pinsel kann ein RGB- oder Palettenpinsel sein. Andernfalls muss Image auf den Pfad einer Bilddatei gesetzt werden, die dem Piktogramm hinzugefügt werden soll. Die Bilddatei kann in jedem der von Hollywood unterstützten Bilddateiformate vorliegen. Beachten Sie, dass die Alphakanaldaten automatisch geladen werden, wenn die hier angegebene Bilddatei einen Alphakanal hat. Wenn es sich um ein Palettenbild handelt und der Tag LoadPalette auf True gesetzt ist (siehe unten), wird auch der transparente Stift des Bildes automatisch geladen. Beachten Sie auch, dass in jedem Piktogramm jede Bildgröße nur einmal für jede Farbtiefe verwendet werden darf, d.h. es ist nicht möglich, zwei 48x48 Bilder mit der gleichen Farbtiefe zu einem einzelnen Piktogramm hinzuzufügen. In jedem Piktogramm kann es nur ein Bild für jede Größe und Farbtiefe geben. Wenn das hier angegebene Bild in einem Vektorgrafikformat vorliegt, d.h. entweder ein Vektorpinsel oder eine Datei in einem Vektorbildformat, dürfen Sie keine weiteren Bilder übergeben, da bei Vektorgrafiken nur ein Bild für alle Größen verwendet wird. Hollywood berechnet das Piktogramm automatisch in alle benötigten Größen. Wenn Sie also Vektor anstelle von Rastergrafiken verwenden, darf die Tabelle, die Sie an @ICON übergeben, nur eine Untertabelle enthalten.

SelImage:
Mit diesem Tag können Sie ein zusätzliches Bild einfügen, das als ausgewählte Version des in Image angegebenen Bildes verwendet werden soll. Dieser Tag ist optional. Wenn Sie ihn einstellen, muss das hier angegebene Bild genau dieselbe Größe wie das in Image angegebene haben. Darüber hinaus wird SelImage auf die gleiche Weise wie Image verwendet, d.h. es hängt von dem in Type eingestellten Bildtyp ab, was Sie hier übergeben müssen. Entweder ist dies ein Pinselidentifikator oder einen Pfad zu einer externen Bilddatei.

Standard:
Mit diesem Tag können Sie das in dieser Untertabelle angegebene Bild als Standardgröße für das Piktogramm festlegen. Das Festlegen einer Standardgröße ist in manchen Kontexten wichtig, damit Hollywood weiß, welches Bild für höhere Auflösungen ausgewählt werden soll. Z.B. wenn Sie ein 64x64-Bild in einem Piktogramm als Standardgröße festlegen, wählt Hollywood das Bild mit 128x128 aus, falls die Auflösung des Monitors eine DPI-Einstellung verwendet, die doppelt so hoch ist wie die normale Einstellung. Natürlich kann sich in jedem Piktogramm nur ein Standardbild befinden. Wenn Sie diesen Tag zweimal auf True setzen, führt dies zu einem Fehler. Beachten Sie auch, dass Sie keine Standard-Piktogrammgröße angeben müssen. Für viele Anwendungsfälle wird jedoch empfohlen, dies zu tun.

Link:
Setzen Sie dieses Feld auf False, wenn Sie nicht möchten, dass die in Image und SelImage angegebenen Bilddateien beim Kompilieren des Skripts mit Ihrer ausführbaren Datei/Ihrem Applet verknüpft werden. Dieses Feld ist standardmäßig auf True gesetzt, womit die in Image und SelImage angegebenen Bilddateien mit Ihrer ausführbaren Datei/Ihrem Applet verknüpft werden, wenn sich Hollywood im Kompiliermodus befindet. Natürlich wird dieser Tag nur verwendet, wenn Type auf #FILE gesetzt ist.

Loader:
Mit diesem Tag können Sie einen oder mehrere Formatlademodule angeben, die zum Laden der in Image und SelImage angegebenen Dateien benutzt werden sollen. Dies muss als eine Zeichenkette festgelegt werden, die den Namen eines oder mehrerer Formatlademodulen enthält. Standardmäßig wird der mit SetDefaultLoader() eingestellte Lader verwendet. Siehe Lade- und Adaptermodule für Details. Dieser Tag kann nur verwendet werden, wenn Type auf #FILE gesetzt ist.

Adapter:
Mit diesem Tag können Sie einen oder mehrere Dateiadapter angeben, die die zum Öffnen in den von Image und SelImage angegebenen Dateien benutzt werden sollen. Dies muss auf eine Zeichenkette gesetzt werden, die den Namen eines oder mehrerer Adapter enthält. Standardmäßig wird der mit SetDefaultAdapter() eingestellte Adapter verwendet. Siehe Lade- und Adaptermodule für Details. Dieser Tag kann nur verwendet werden, wenn Type auf #FILE gesetzt ist.

LoadPalette:
Wenn dieser Tag auf True und Type auf #FILE gesetzt ist, versucht Hollywood, die Palette des Bildes zu laden und das Bild als Palettenbild innerhalb des Piktogrammes zu speichern. Wenn das Bild einen transparenten Stift hat, wird dieser automatisch geladen. (V9.0)

UserTags:
Dieser Tag kann verwendet werden, um zusätzliche Daten anzugeben, die an Lader und Adapter übergeben werden sollen. Wenn Sie diesen Tag verwenden, müssen Sie ihn auf eine Tabelle mit Schlüssel-Wert-Paaren setzen, die die zusätzlichen Daten enthalten, die an Plugins übergeben werden sollen. Siehe Benutzer-Tags für Details. (V10.0)

Um zur Laufzeit Piktogramme zu laden oder zu erstellen, sehen Sie sich die Befehle LoadIcon() und CreateIcon() an.

Verwenden Sie zum Hinzufügen und Entfernen einzelner Bilder zu einem Piktogramm die Befehle AddIconImage() und RemoveIconImage().

Eingaben
id
ein Wert, mit dem dieses Piktogramm später im Code identifiziert wird
filename$
optional: die Piktogrammdatei, die Sie laden möchten (siehe oben)
table
optional oder obligatorisch, abhängig von der verwendeten Syntax (siehe oben)
Beispiel
@ICON 1, "MyIcon.png"
Lädt "MyIcon.png" als Piktogramm 1.


@ICON 1, {
    {Image = "ic16x16.png"},
    {Image = "ic24x24.png"},
    {Image = "ic32x32.png"},
    {Image = "ic48x48.png"},
    {Image = "ic64x64.png"},
    {Image = "ic96x96.png"},
    {Image = "ic128x128.png"},
    {Image = "ic256x256.png"},
    {Image = "ic512x512.png"},
    {Image = "ic1024x1024.png"}}
Der obige Code erstellt das Piktogramm 1 aus einem Satz externer Bilder in verschiedenen Größen im Bereich von 16x16 bis 1024x1024 Pixel.


@ICON 1, {{Image = "icon.svg"}}
Der obige Code erstellt das Piktogramm 1 und verwendet nur ein einzelnes Bild, da das Bild in einem Vektorgrafikformat (SVG) vorliegt und in diesem Fall nur ein einzelnes Bild angegeben werden muss (siehe oben).

Navigation zeigen