@ICON id, filename$[, table] @ICON id, table
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:
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:
Adapter:
UserTags:
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:
#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:
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:
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:
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:
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:
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:
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:
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:
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().
@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).