Class ImageFont

java.lang.Object
de.pirckheimer_gymnasium.engine_pi.actor.ImageFont

public class ImageFont extends Object
Eine Schriftart, bei der die einzelnen Buchstaben durch ein Bild repräsentiert sind.

Jedes Bild entspricht einem Buchstaben oder Zeichen. Die Bilder müssen alle die gleiche Abmessung aufweisen.

Eine Alternative wäre die BitmapFont-Klasse der Game-Engine libgdx. ...

Since:
0.23.0
Author:
Josef Friedrich
See Also:
  • Constructor Details

    • ImageFont

      public ImageFont(String basePath, String extension, ImageFontCaseSensitivity caseSensitivity, TextAlignment alignment)
      Erzeugt eine neue Bilderschriftart.
      Parameters:
      basePath - Der Pfad zu einem Ordner, in dem die Bilder der einzelnen Buchstaben liegen.
      extension - Die Dateierweiterung der Buchstabenbilder.
      caseSensitivity - Die Handhabung der Groß- und Kleinschreibung.
      alignment - Die Textausrichtung.
    • ImageFont

      public ImageFont(String basePath, ImageFontCaseSensitivity caseSensitivity)
      Erzeugt eine neue Bilderschriftart. Die einzelnen Glyphen müssen als Dateierweiterung png haben. Der Text wird linksbündig ausgerichtet.
      Parameters:
      basePath - Der Pfad zu einem Ordner, in dem die Bilder der einzelnen Buchstaben liegen.
      caseSensitivity - Die Handhabung der Groß- und Kleinschreibung.
    • ImageFont

      public ImageFont(String basePath)
      Erzeugt eine neue Bilderschriftart. Die einzelnen Glyphen müssen als Dateierweiterung png haben. Der Text wird linksbündig ausgerichtet.
      Parameters:
      basePath - Der Pfad zu einem Ordner, in dem die Bilder der einzelnen Buchstaben liegen.
  • Method Details

    • setBasePath

      public ImageFont setBasePath(String basePath)
      Setzt den Pfad zu einem Ordner, in dem die Bilder der einzelnen Buchstaben liegen.
      Parameters:
      basePath - Der Pfad zu einem Ordner, in dem die Bilder der einzelnen Buchstaben liegen.
      Returns:
      Eine Instanz dieser Klasse, damit mehrere Setter mit der Punktschreibweise verkettet werden können.
    • getGlyphWidth

      public int getGlyphWidth()
      Gibt die Breite der Buchstabenbilder in Pixel zurück.
      Returns:
      Die Breite der Buchstabenbilder in Pixel.
    • setColor

      public ImageFont setColor(Color color)
      Setzt die Farbe, in der die schwarze Farbe der Ausgangsbilder umgefärbt werden soll.
      Parameters:
      color - Die Farbe, in der die schwarze Farbe der Ausgangsbilder umgefärbt werden soll.
      Returns:
      Eine Instanz dieser Klasse, damit mehrere Setter mit der Punktschreibweise verkettet werden können.
    • getColor

      public Color getColor()
      Gibt die Farbe zurück, in der die schwarze Farbe der Ausgangsbilder umgefärbt werden soll.
      Returns:
      Die Farbe, in der die schwarze Farbe der Ausgangsbilder umgefärbt werden soll.
    • setExtension

      public ImageFont setExtension(String extension)
      Setzt die Dateierweiterung der Buchstabenbilder.
      Parameters:
      extension - Die Dateierweiterung der Buchstabenbilder.
      Returns:
      Eine Instanz dieser Klasse, damit mehrere Setter mit der Punktschreibweise verkettet werden können.
    • setPixelMultiplication

      public ImageFont setPixelMultiplication(int pixelMultiplication)
      Setzt, wie oft ein Pixel vervielfältigt werden soll.
      Parameters:
      pixelMultiplication - Wie oft ein Pixel vervielfältigt werden soll. Beispielsweise verwandelt die Zahl 3 ein Pixel in 9 Pixel der Abmessung 3x3.
      Returns:
      Eine Instanz dieser Klasse, damit mehrere Setter mit der Punktschreibweise verkettet werden können.
    • getPixelMultiplication

      public int getPixelMultiplication()
      Gibt zurück, wie oft ein Pixel vervielfältigt werden soll.
      Returns:
      Wie oft ein Pixel vervielfältigt werden soll. Beispielsweise verwandelt die Zahl 3 ein Pixel in 9 Pixel der Abmessung 3x3.
      See Also:
    • setCaseSensitivity

      public ImageFont setCaseSensitivity(ImageFontCaseSensitivity caseSensitivity)
      Setzt die Handhabung der Groß- und Kleinschreibung.
      Parameters:
      caseSensitivity - Die Handhabung der Groß- und Kleinschreibung.
      Returns:
      Eine Instanz dieser Klasse, damit mehrere Setter mit der Punktschreibweise verkettet werden können.
    • setLineWidth

      public ImageFont setLineWidth(int lineWidth)
      Setzt die maximale Anzahl an Zeichen, die eine Zeile aufnehmen kann.
      Parameters:
      lineWidth - Die maximale Anzahl an Zeichen, die eine Zeile aufnehmen kann.
      Returns:
      Eine Instanz dieser Klasse, damit mehrere Setter mit der Punktschreibweise verkettet werden können.
    • getLineWidth

      public int getLineWidth()
      Gibt die maximale Anzahl an Zeichen zurück, die eine Zeile aufnehmen kann.
      Returns:
      Die maximale Anzahl an Zeichen, die eine Zeile aufnehmen kann.
    • getLineWidth

      public int getLineWidth(String content)
      Gibt die maximale Anzahl an Zeichen zurück, die eine Zeile aufnehmen kann.
      Returns:
      Die maximale Anzahl an Zeichen, die eine Zeile aufnehmen kann.
    • getLineWidth

      public int getLineWidth(String content, int lineWidth)
      Gibt die maximale Anzahl an Zeichen zurück, die eine Zeile aufnehmen kann.
      Returns:
      Die maximale Anzahl an Zeichen, die eine Zeile aufnehmen kann.
    • setAlignment

      public ImageFont setAlignment(TextAlignment alignment)
      Setzt die Textausrichtung.
      Parameters:
      alignment - Die Textausrichtung.
      Returns:
      Eine Instanz dieser Klasse, damit mehrere Setter mit der Punktschreibweise verkettet werden können.
    • getAlignment

      public TextAlignment getAlignment()
      Gibt die Textausrichtung zurück.
      Returns:
      Die Textausrichtung.
    • setThrowException

      public ImageFont setThrowException(boolean throwException)
      Setzt, ob bei einem nicht vorhandenen Zeichen eine Fehlermeldung geworfen werden soll oder nicht.
      Parameters:
      throwException - Ob bei einem nicht vorhandenen Zeichen eine Fehlermeldung geworfen werden soll oder nicht.
      Returns:
      Eine Instanz dieser Klasse, damit mehrere Setter mit der Punktschreibweise verkettet werden können.
    • getGlyphs

      public ImageFontGlyph[] getGlyphs()
    • addMapping

      public ImageFont addMapping(char glyph, String filename)
      Ordnet einem Zeichen einem Bilder-Dateinamen zu. Nicht alle Zeichen wie zum Beispiel der Schrägstrich oder der Doppelpunkt können als Dateinamen verwendet werden.
      Parameters:
      glyph - Das Zeichen, das durch ein Bild dargestellt werden soll.
      filename - Der Dateiname des Bilds ohne Dateierweiterung, das ein Zeichen darstellt, relativ zu basePath.
      Returns:
      Eine Instanz dieser Klasse, damit mehrere Setter mit der Punktschreibweise verkettet werden können.
    • render

      public BufferedImage render(String content, int lineWidth, TextAlignment alignment, Color color, int pixelMultiplication)
      Setzt den gegebenen Textinhalt in ein Bild.
      Parameters:
      content - Der Textinhalt, der in das Bild geschrieben werden soll.
      lineWidth - Die maximale Anzahl an Zeichen, die eine Zeile aufnehmen kann.
      alignment - Die Textausrichtung.
      color - Die Farbe, in der die schwarze Farbe der Ausgangsbilder umgefärbt werden soll.
      pixelMultiplication - Wie oft ein Pixel vervielfältigt werden soll. Beispielsweise verwandelt die Zahl 3 ein Pixel in 9 Pixel der Abmessung 3x3.
      Returns:
      Ein Bild, in dem alle Zeichen-Einzelbilder zusammengefügt wurden.
    • render

      public BufferedImage render(String content)
      Setzt den gegebenen Textinhalt in ein Bild.
      Parameters:
      content - Der Textinhalt, der in das Bild geschrieben werden soll.
      Returns:
      Ein Bild, in dem alle Zeichen-Einzelbilder zusammengefügt wurden.