2.2.1 Formen

Eine Form wird, wie oben schon deutlich gemacht wurde, durch das p:sp-Element erzeugt. Für diese Formen werden in Unterelementen die grundlegenden Eigenschaften (<p:nvSpPr> & <p:spPr>), die anzuwendenden Stile (<p:spPr>) – also Farben und Schriftarten – und der einzufügende Text (<p:txBody>) angegeben.

<p:sp>                                                      (1)
   <p:nvSpPr>                                               (2)
      <p:cNvPr id="4" name="Gleichschenkliges Dreieck 3"/>  (3)
      <p:cNvSpPr/>  
      <p:nvPr/>  
   </p:nvSpPr>  
   <p:spPr>                                                 (4)
      <a:xfrm>                                              (5)
         <a:off x="2786050" y="2000240"/>  
         <a:ext cx="3357586" cy="733663"/>  
      </a:xfrm>  
      <a:prstGeom prst="triangle"/>                         (6)
      <a:noFill/>                                           (7)
   </p:spPr>  
   <p:style>                                                (8)
      <a:lnRef idx="2">                                     (9)
         <a:schemeClr val="accent1"/>                      (10)
      </a:lnRef>  
      <a:fillRef idx="1">                                  (11)
         <a:schemeClr val="accent1"/>                      (10)
      </a:fillRef>  
      <a:effectRef idx="0">                                (12)
         <a:schemeClr val="accent1"/>                      (10)
      </a:effectRef>  
      <a:fontRef idx="minor">                              (13)
         <a:schemeClr val="lt1"/>                          (10)
      </a:fontRef>  
   </p:style>  
</p:sp>  
1 Element für einen Textrahmen oder eine Polygon-Form.
2 Hier werden die nicht sichtbare Eigenschaften definiert.
3 Beispiel für die nicht sichtbaren Eigenschaften sind die ID (hier „4“) und der Name („Gleichschenkliges Dreieck 3“).
4 Hier werden die sichtbaren Eigenschaften definiert.
5 Im Element a:xfrm werden die Position (<a:off>) auf der Folie und die Größe des Shapes (<a:ext>) definiert.
6 Definiert die geometrische Form des Shapes. Hier wird auf die Form eines gleichschenkligen Dreieckes verwiesen.
7 Indikator für eine transparente Flächenfüllung („Keine Füllung“).
8 Im p:style-Element werden die Stil-Eigenschaften definiert.
9 Referenziert auf eine Stil-Eigenschaft für die Linien (hauptsächlich der Rahmen) des Shapes.
10 Hier wird auf eine Farbe der verwendeten Color Map referenziert.
11 Referenziert auf eine Stil-Eigenschaft für die Füllfläche des Shapes (hat hier jedoch keine Auswirkung, weil unter (7) angegeben wird, dass eine transparente Füllung verwendet werden soll.
12 Referenziert auf eine Stil-Eigenschaft für einen zu verwendenden Effekt.
13 Definiert die grundlegenden Stil-Eigenschaften für den textuellen Inhalt des Shapes.

 

2.2.1.1 Eigenschaften (Shape Properties)

Für die grundlegenden Eigenschaften gilt bei PresentationML das Prinzip der sichtbaren und nicht sichtbaren Eigenschaften. Die sichtbaren Eigenschaften (<p:spPr>, Shape Properties) sind beispielweise die Art der geometrischen Form (<a:prstGeom>), die Position und die Größe des Shapes (<a:xfrm>) oder die Art der Flächenfüllung (<a:gradFill>, <a:blipFill>, <a:noFill>) oder die Art der Rahmenfärbung (<a:ln>). 
Einige dieser Eigenschaften können auch unter den Stil-Eigenschaften des Shapes im p:style-Element gemacht werden. Die Stil-Eigenschaften dienen dabei als Grundeigenschaften, die von den Shape Properties überschrieben werden. Als nicht sichtbare Eigenschaften (<p:nvSpPr>, Non-Visual Properties for a Shape) wird dem Shape zumindest eine ID und ein Name im Unterelement <p:cNvPr> mitgegeben. Die ID muss allerdings nur innerhalb der Shape-Sammlung eindeutig sein.

 

2.2.1.2    Positions- und Größenangaben

Die Positions- und Größenangaben im a:xfrm-Element werden – wie alle Längenangaben in DrawingML – in English Metric Units (EMUs) angegeben. EMU ist eine von Microsoft kreierte Einheit, die sie selbst als „high precision coordinate space“ bezeichnen. Ein EMU ist dabei 1/360000 cm oder 1/914400 Inch. Die Position des Shapes wird nun im a:off-Kindelement von <a:xfrm> mit den beiden Attributen x und y angegeben.
Der x-Wert gibt den Abstand zum linken Rand der Folie an, der y-Wert den Abstand zum oberen Rand. Handelt es sich bei der geometrischen Form um keine rechteckige, wird hier die Position eines fiktiven Rahmens beschrieben. Dieser fiktive Rahmen ist immer rechteckig und schließt das Objekt vollständig ein. Ebenfalls in einem Kindelement von <a:xfrm> wird die Größe dieses Rahmens angegeben. Im a:ext-Element sind im Attribut cx die Breite und im cy die Höhe des Rahmens hinterlegt.

Abb. 7: fiktiver Rahmen

Abb. 7: Fiktiver Rahmen

 

2.2.1.3 Geometrische Formen

Die geometrische Form wird durch einen Namen referenziert. Im prst-Attribut des a:prstGeom-Elements wird dieser Name angegeben. Der Name referenziert eine geometrische Form aus einer Bibliothek, die im Namensraum schemas.openxmlformats.org/drawingml/2006/main hinterlegt ist.

 

2.2.1.4 Flächenfüllung

Die Fläche eines Shapes kann auf verschiedene Arten gefüllt werden. Werden keine weiteren Angaben gemacht, wird auf die Stil-Eigenschaft für die Flächenfüllung zurückgegriffen. Sollen spezielle Angaben gemacht werden, z.B. dass die Flächenfüllung transparent ist („keine Füllung“), eine spezielle Flächenfarbe, einen Verlauf oder eine Struktur enthält, muss ein entsprechendes Element als sichtbare Eigenschaft im p:spPr-Element eingefügt werden.

 

Tabelle 3: Überblick Flächenfüllung

Art der Flächenfüllung zugehöriges Element
Transparente Füllung <a:noFill>
Einfarbige Füllung <a:solidFill>
Farbverlauf <a:gradFill>
Struktur <a:blipFill>

Beispiel für einen Farbverlauf:

<a:gradFill>                           (1)
   <a:gsLst>                           (2)
      <a:gs pos="0">                   (3)
         <a:schemeClr val="accent1"/>  (4)
      </a:gs>
      <a:gs pos="100000">              (3) 
         <a:schemeClr val="accent2"/>  (4) 
      </a:gs> 
   </a:gsLst> 
</a:gradFill>
1<a:gradFill>Gradient Fill Das Element wird im p:spPr-Element eingefügt.
2 <a:gsLst>Gradient Stop List Ein Verlauf wird über Farbangaben an beliebigen Positionen definiert. Dieses Element enthält eine Liste – also beliebig vieler – solcher Farb-Positions-Angaben (Gradient Stops)
3<a:gs>Gradient Stops
Einem Gradient Stop wird eine Position mit dem pos-Attribut mitgegeben und enthält eine Farbangabe. Die Position bei Farbverläufen ist gewöhnlich eine Prozentangabe. Hier wird, um Nachkommastellen zu vermeiden, eine tausendfache Prozentangabe gemacht. Dies bedeutet 100000 steht für 100%, 50000 für 50% usw.
4<a:schemeClr>Scheme Color Hier wird auf eine Farbe der verwendeten Color Map referenziert.

 

2.2.1.5    Farben in DrawingML

Wird in DrawingML eine Farbangabe gemacht, kann dies auf verschiedene Weise gemacht werden. Es kann eine vordefinierte Farbe aus der verwendeten Color Map referenziert werden, ein RGB-Wert entweder mit Hexadezimalwerten oder mit Prozentwerten angegeben werden oder eine vordefinierte Farbe aus einer Bibliothek, die im Namensraum schemas.openxmlformats.org/drawingml/2006/main angelegt ist.
Für jede dieser Arten der Farbangabe gibt es ein gesondertes Element.

Tabelle 4: Überblick Elemente zur Farbangabe

Art der Farbangabe zugehöriges Element
RGB-Wert mit Prozentangabe <a: scrgbClr>
RGB-Wert mit Hexadezimalangabe <a: srgbClr>
Farbe aus der Namensraum-Bibliothek <a: prstClr>
Farbe aus einer Color Map oder einem Farbschema <a: schemeClr>

Die Farbangabe erfolgt bei all diesen Elementen über das val-Attribut, nur das Element a:scrgbClr erhält die Attribute r, g und b.

 

Hexadezimalwert:

Der Hexadezimalwert ist der Farbangabe bei HTML-Seiten am ähnlichsten. Es wird eine sechsstellige Hexadezimalzahl angegeben. Eine Hexadezimalzahl verfügt nicht nur über die Ziffern 0 bis 9, sondern auch über die sechs weiteren A(10), B(11), C(12), D(13), E(14) und F(15).
Die sechsstellige Hexadezimalzahl enthält sowohl den Rot- als auch den Grün- und Blau-Wert der zu definierenden Farbe. Dabei geben die ersten zwei Stellen den Rotanteil an, die Stellen 3 und 4 den Grünanteil und die letzten zwei Stellen den Blauanteil. Da eine zweistellige Hexadezimalzahl 256 (0 bis 255) mögliche Variationen annehmen kann, können die jeweiligen Farbanteile in genauso vielen Stufen definiert werden.
Für den maximalen Farbanteil steht die Zahl FF (255), für den minimalen Anteil 00. Es wird die additive Farbmischung angewandt, was bedeutet, dass die Farbe FFFFFF reines Weiß ist, 000000 dagegen die Farbe Schwarz darstellt.

Tabelle 5: Grundfarben mit Hexadezimalangabe

Farbe Hexadezimalwert
Rot FF0000
Grün 00FF00
Blau 0000FF
Gelb FFFF00
Cyan 00FFFF
Magenta FF00FF

 

Prozentangabe:

Die Farbe kann auch mit drei Prozentangaben für die jeweiligen Farbanteile Rot, Grün und Blau definiert werden. Wie bereits beim Farbverlauf, wird hier die Prozentangabe, um Kommastellen zu vermeiden, mit tausendfachem Prozentwert gemacht. Also ergibt der Wert 100000 den Prozentwert 100%.

Tabelle 6: Grundfarben mit Prozentangabe

Farbe Element zur Definition
Weiß <a:scrgbClr r="100000" g="100000" b="100000"/>
Schwarz <a:scrgbClr r="0" g="0" b="0"/>
Rot <a:scrgbClr r="100000" g="0" b="0"/>
Grün <a:scrgbClr r="0" g="100000" b="0"/>
Blau <a:scrgbClr r="0" g="0" b="100000"/>
Gelb <a:scrgbClr r="100000" g="100000" b="0"/>
Cyan <a:scrgbClr r="0" g="100000" b="100000"/>
Magenta <a:scrgbClr r="100000" g="0" b="100000"/>

 

Namensraum-Bibliothek:

Wie auch bei HTML gibt es eine Reihe von Standardfarben, die mit einem Namen referenziert werden können. Die Bibliothek verfügt über 140 mit RGB-Werten vordefinierte Farben. Die Referenz erfolgt über den Namen der Farbe als Wert im val-Attribut des a:prstClr-Elements.

Tabelle 7: Beispiele für vordefinierte Farben

Farbe Name Rot, Grün, Blau-Wert
Weiß white 255,255,255
Schwarz black 0,0,0
Rot red 255,0,0
Grün lime 0,255,0
Blau blue 0,0,255
Gelb yellow 255,255,0
Cyan cyan | aqua 0,255,255
Magenta magenta | fuchsia 255,0,255

 

Color Map:

Wie bereits im Kapitel 2.1 Grundaufbau dargelegt, kann im Element p:clrMapOvr die Color Map definiert werden. Hierzu dient das Element a:overrideClrMapping. Eine Color Map besteht aus zwölf festgelegten Farbpositionen. Festgelegt ist dabei nur der Name und der Verwendungszweck der Position, die Farbe selbst wird mittels dieser Color Map zugewiesen.

Tabelle 8: Farbpositionen einer Color Map

Attribut/Name Verwendungszweck
accent1 Farbton 1
accent2 Farbton 2
accent3 Farbton 3
accent4 Farbton 4
accent5 Farbton 5
accent6 Farbton 6
bg1 Farbe für den automatischen Hintergrund
bg2 Farbe für einen alternativen Hintergrund
hlink Farbe, die automatisch einem Link zugewiesen wird.
folHlink Farbe, die automatisch einem Link zugewiesen wird, der schon besucht wurde.
tx1 Farbe, die automatisch einem Text zugewiesen wird.
tx2 Farbe, die alternativ dem Text zugewiesen wird.

Für eine Color Map muss jede Standardfarbe definiert werden. Für jede Farbe hat das a:overrideClrMapping-Element das entsprechende Attribut. Der Wert muss auf eine Farbe des Farbschemas des Dokumentes verweisen. Das Farbschema wird im theme-Part definiert.
Auch ein Farbschema enthält eine feste Anzahl von Farbpositionen mit festgelegtem Namen. Etwas verwirrend ist, dass einige Namen der Farbschema-Positionen mit denen einer Color Map identisch sind. Im Gegensatz zur Color Map kann beim Farbschema die Farbe für diese Position mittels der oben erwähnten Methoden (<a: scrgbClr>, <a: srgbClr>, <a: prstClr>) frei definiert werden.

Tabelle 9: Farbpositionen eines Farbschemas

Element/Name Verwendungszweck
accent1 Farbton 1
accent2 Farbton 2
accent3 Farbton 3
accent4 Farbton 4
accent5 Farbton 5
accent6 Farbton 6
dk1 Dunkler Farbton
dk2 Alternativer dunkler Farbton
hlink Farbe für Hyperlinks
folHlink Farbe für ausgeführte Hyperlinks
lt1 Heller Farbton
lt2 Alternativer heller Farbton

Eine typische Definition einer Color Map sieht daher wie folgt aus:

<a:overrideClrMapping bg1="lt1" tx1="dk1" bg2="lt2" tx2="dk2" accent1="accent1" accent2="accent2" accent3="accent3" accent4="accent4" accent5="accent5" accent6="accent6" hlink="hlink" folHlink="folHlink"/>

Das Element <a: schemeClr> kann nun mit dem Wert im val-Attribut sowohl auf eine Farbe der Color Map als auch auf eine Farbe des Farbschemas referenzieren. Da diese Namen teilweise identisch sind, wird primär auf die Color Map referenziert, sekundär nur auf das Farbschema.

 

<< zurück zu 2.2 Shape weiter zu 2.2.2 Textrahmen >>
Tipp der data2type-Redaktion:
Zum Thema PresentationML bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an: