Class PNGBitmapWriter

java.lang.Object
org.sunflow.image.writers.PNGBitmapWriter
All Implemented Interfaces:
BitmapWriter

public class PNGBitmapWriter extends Object implements BitmapWriter
  • Constructor Details

    • PNGBitmapWriter

      public PNGBitmapWriter()
  • Method Details

    • configure

      public void configure(String option, String value)
      Description copied from interface: BitmapWriter
      This method will be called before writing begins. It is used to set common attributes to file writers. Currently supported keywords include:
      • "compression"
      • "channeltype": "byte", "short", "half", "float"
      Note that this method should not fail if its input is not supported or invalid. It should gracefully ignore the error and keep its default state.
      Specified by:
      configure in interface BitmapWriter
      Parameters:
      option -
      value -
    • openFile

      public void openFile(String filename) throws IOException
      Description copied from interface: BitmapWriter
      Open a handle to the specified file for writing. If the writer buffers the image and writes it on close, then the filename should be stored.
      Specified by:
      openFile in interface BitmapWriter
      Parameters:
      filename - filename to write the bitmap to
      Throws:
      IOException - thrown if an I/O error occurs
    • writeHeader

      public void writeHeader(int width, int height, int tileSize) throws IOException, UnsupportedOperationException
      Description copied from interface: BitmapWriter
      Write the bitmap header. This may be defered if the image is buffered for writing all at once on close. Note that if tile size is positive, data sent to this class is guarenteed to arrive in tiles of that size (except at borders). Otherwise, it should be assumed that the data is random, and that it may overlap. The writer should then either throw an error or start buffering data manually.
      Specified by:
      writeHeader in interface BitmapWriter
      Parameters:
      width - image width
      height - image height
      tileSize - tile size or 0 if the image will not be sent in tiled form
      Throws:
      IOException - thrown if an I/O error occurs
      UnsupportedOperationException - thrown if this writer does not support writing the image with the supplied tile size
    • writeTile

      public void writeTile(int x, int y, int w, int h, Color[] color, float[] alpha) throws IOException
      Description copied from interface: BitmapWriter
      Write a tile of data. Note that this method may be called by more than one thread, so it should be made thread-safe if possible.
      Specified by:
      writeTile in interface BitmapWriter
      Parameters:
      x - tile x coordinate
      y - tile y coordinate
      w - tile width
      h - tile height
      color - color data
      alpha - alpha data
      Throws:
      IOException - thrown if an I/O error occurs
    • closeFile

      public void closeFile() throws IOException
      Description copied from interface: BitmapWriter
      Close the file, this completes the bitmap writing process.
      Specified by:
      closeFile in interface BitmapWriter
      Throws:
      IOException - thrown if an I/O error occurs