org.sunflow.image.writers

## Class IGIBitmapWriter

- java.lang.Object
- - org.sunflow.image.writers.IGIBitmapWriter

- All Implemented Interfaces:
    BitmapWriter

      public class IGIBitmapWriter
      extends java.lang.Object
      implements BitmapWriter

  Writes images in Indigo's native XYZ format. http://www2.indigorenderer.com/joomla/forum/viewtopic.php?p=11430

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `IGIBitmapWriter()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `closeFile()` Close the file, this completes the bitmap writing process.
    `void` | `configure(java.lang.String option, java.lang.String value)` This method will be called before writing begins.
    `void` | `openFile(java.lang.String filename)` Open a handle to the specified file for writing.
    `void` | `writeHeader(int width, int height, int tileSize)` Write the bitmap header.
    `void` | `writeTile(int x, int y, int w, int h, Color[] color, float[] alpha)` Write a tile of data.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### IGIBitmapWriter

          public IGIBitmapWriter()

  - ### Method Detail

    - #### configure

          public void configure(java.lang.String option,
                                java.lang.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`

    - #### openFile

          public void openFile(java.lang.String filename)
                        throws java.io.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:
        `java.io.IOException` - thrown if an I/O error occurs

    - #### writeHeader

          public void writeHeader(int width,
                                  int height,
                                  int tileSize)
                           throws java.io.IOException,
                                  java.lang.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:
        `java.io.IOException` - thrown if an I/O error occurs
        `java.lang.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 java.io.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:
        `java.io.IOException` - thrown if an I/O error occurs

    - #### closeFile

          public void closeFile()
                         throws java.io.IOException

      Description copied from interface: `BitmapWriter`
      Close the file, this completes the bitmap writing process.
      Specified by:
        `closeFile` in interface `BitmapWriter`
      Throws:
        `java.io.IOException` - thrown if an I/O error occurs