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
  • Constructor Details

    • ImageFont

      public ImageFont(String basePath, int glyphWidth, int glyphHeight, String extension, ImageFontCaseSensitivity caseSensitivity, TextAlignment alignment)
      Parameters:
      basePath - Der Pfad zu einem Ordner, in dem die Bilder der einzelnen Buchstaben liegen.
      glyphWidth - Die Breite der Buchstabenbilder in Pixel.
      glyphHeight - Die Höhe der Buchstabenbilder in Pixel.
      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üssten 8x8 Pixel und als Dateierweiterung pgn 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.
  • 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.
    • setGlyphWidth

      public ImageFont setGlyphWidth(int glyphWidth)
      Setzt die Breite der Buchstabenbilder in Pixel.
      Parameters:
      glyphWidth - Die Breite der Buchstabenbilder in Pixel.
      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.
    • setGlyphHeight

      public ImageFont setGlyphHeight(int glyphHeight)
      Setzt die Höhe der Buchstabenbilder in Pixel.
      Parameters:
      glyphHeight - Die Höhe der Buchstabenbilder in Pixel.
      Returns:
      Eine Instanz dieser Klasse, damit mehrere Setter mit der Punktschreibweise verkettet werden können.
    • 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.
    • setCaseSensitivity

      public ImageFont setCaseSensitivity(ImageFontCaseSensitivity caseSensitivity)
      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)
      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.
    • addMapping

      public void addMapping(char letter, String filename)
    • 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.
    • 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.