Package pi.resources

Class Codec

java.lang.Object
pi.resources.Codec

public final class Codec extends Object
Author:
Steffen Wilke, Matthias Wilke
  • Method Details

    • decodeAngle

      public static float decodeAngle(byte encodedAngle)
      Decodes a previously encoded angle.
      Parameters:
      encodedAngle - The encoded angle.
      Returns:
      The decoded angle.
    • decodeAngle

      public static float decodeAngle(short encodedAngle)
    • decodeSmallFloatingPointNumber

      public static float decodeSmallFloatingPointNumber(short encodedNumber, int precision)
      Decodes a small floating point number, previously encoded with encodeSmallFloatingPointNumber.
      Parameters:
      encodedNumber - The encoded number
      precision - The precision of the encoded number. The same precision, used for encoding.
      Returns:
      The decoded small floating point number.
    • encodeAngle

      public static byte encodeAngle(float angle)
      Encodes an angle, loosing some precision. The encoded / decoded values can differ at max. around 1.43 degrees from the original one.
      Parameters:
      angle - The angle
      Returns:
      The encoded angle.
    • encodeAnglePrecise

      public static short encodeAnglePrecise(float angle)
    • encodeSmallFloatingPointNumber

      public static short encodeSmallFloatingPointNumber(float smallNumber, int precision)
      Encodes positive numbers less than Short.MAX_VALUE * 2 / precision (6553.4 for precision = 1).
      Parameters:
      smallNumber - The small number to encode
      precision - The comma precision for the encoding process.
      Returns:
      The encoded number.
    • decodeImage

      public static BufferedImage decodeImage(String imageString)
      Dekodiert einen als String codierten Bildinhalt in ein BufferedImage und konvertiert das Ergebnis in ein plattformkompatibles Bildformat.

      Der Eingabestring wird zunächst in ein Byte-Array dekodiert und anschließend über ImageIO eingelesen. Tritt während der Verarbeitung ein Fehler auf, wird dieser protokolliert.

      Parameters:
      imageString - der codierte Bildinhalt (z. B. Base64); darf nicht null sein
      Returns:
      das dekodierte, kompatible Bild; kann je nach Fehlerfall null sein
      Throws:
      IllegalArgumentException - wenn imageString == null
      RuntimeException - wenn
    • encode

      public static String encode(BufferedImage image)
    • encode

      public static String encode(BufferedImage image, ImageFormat imageFormat)
      Kodiert ein BufferedImage in eine Base64-String-Repräsentation anhand des angegebenen Bildformats.

      Ist das übergebene imageFormat ImageFormat.UNSUPPORTED, wird stattdessen ImageFormat.PNG als Standardformat verwendet. Tritt während der Bildverarbeitung ein IOException auf, wird der Fehler protokolliert und es kann null zurückgegeben werden.

      Parameters:
      image - das zu kodierende Bild; darf nicht null sein
      imageFormat - das gewünschte Bildformat für die Kodierung
      Returns:
      die kodierte Base64-Repräsentation des Bildes oder null, falls die Kodierung aufgrund eines Fehlers nicht erfolgreich war
      Throws:
      IllegalArgumentException - wenn image null ist
    • encode

      public static String encode(byte[] data)
    • decode

      public static byte[] decode(String base64)
      Decodes the specified Base64 string to a byte array.
      Parameters:
      base64 - The Base64 string containing the encoded binary data.
      Returns:
      The decoded byte array.
      See Also: