Bezeichnung
CreateIcon -- erstellt ein Piktogramm (V8.0)
Übersicht
[id] = CreateIcon(id, table)
Beschreibung
Mit diesem Befehl können Sie ein Piktogramm aus einer Sammlung einzelner Bilddateien oder Pinsel erstellen. Sie müssen den gewünschten Identifikator für das neue Piktogramm im Parameter 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:
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 #BRUSH. Beachten Sie, dass sich diese Standardeinstellung von der Standardeinstellung der Präprozessor-Anweisung @ICON unterscheidet. Da ist #FILE 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- statt Rastergrafiken verwenden, darf die Tabelle, die Sie an CreateIcon() ü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.

Loader:
Mit diesem Tag können Sie einen oder mehrere Formatlademodule angeben, die die in 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:
Mit diesem Tag können Sie einen oder mehrere Dateiadapter angeben, die die in 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:
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)

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().

Eingaben
id
ID des Piktogrammes oder Nil für die automatische ID-Zuweisung
table
Tabelle mit den einzelnen Bildern, die dem Piktogramm hinzugefügt werden sollen (siehe oben)
Beispiel
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).

Navigation zeigen