[id] = CreateIcon(id, table)
id
übergeben.
Wenn Sie Nil als id
angeben,
wird automatisch eine ID für dieses Piktogramm ausgewählt und
in id
zurückgegeben. In Hollywood ist eine Piktogramm eine Sammlung
desselben Bildes in verschiedenen Größen und Farbtiefen.
Durch die Verwendung individuell entworfener Bilder für jede Größe, anstatt nur ein und dasselbe Bild für jede Größe zu skalieren, wird eine bessere Qualität erzielt. 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-Piktogrammen
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.
Neben dem Identifikator für das neue Piktogramm, das in id
übergeben
werden soll, müssen Sie auch eine Tabelle im Parameter table
an CreateIcon()
übergeben. Diese Tabelle muss eine Reihe von
Untertabellen enthalten, eine für jede Bildgröße, die Sie dem
Piktogramm hinzufügen möchten.
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 #BRUSH
. Beachten Sie, dass sich diese Standardeinstellung
von der Standardeinstellung der Präprozessor-Anweisung @ICON
unterscheidet. Da ist #FILE
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-
statt Rastergrafiken verwenden, darf die Tabelle, die Sie an
CreateIcon()
ü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.
Loader:
Image
und SelImage
angegebenen Bilddateien
laden. 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
wird natürlich nur verwendet, wenn Type
auf #FILE
gesetzt ist.
Adapter:
Image
und SelImage
angegebenen Dateien
öffnen sollen. Wenn angegeben, muss dies auf eine Zeichenkette
festgelegt 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 wird natürlich nur verwendet, 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)
Dieser Befehl ist auch als Präprozessor-Anweisung @ICON verfügbar.
Verwenden Sie zum Hinzufügen und Entfernen einzelner Bilder zu einem Piktogramm die Befehle AddIconImage() und RemoveIconImage().
CreateIcon(1, { {Image = "ic16x16.png", Type = #FILE}, {Image = "ic24x24.png", Type = #FILE}, {Image = "ic32x32.png", Type = #FILE}, {Image = "ic48x48.png", Type = #FILE}, {Image = "ic64x64.png", Type = #FILE}, {Image = "ic96x96.png", Type = #FILE}, {Image = "ic128x128.png", Type = #FILE}, {Image = "ic256x256.png", Type = #FILE}, {Image = "ic512x512.png", Type = #FILE}, {Image = "ic1024x1024.png", Type = #FILE}})Der obige Code erstellt das Piktogramm 1 aus einem Satz externer Bilder in verschiedenen Größen im Bereich von 16x16 bis 1024x1024 Pixel.
CreateIcon(1, {{Image = "icon.svg", Type = #FILE}})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).