Class 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
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.lang.String filename  
      private int height  
      private int width  
      private float[] xyz  
    • Constructor Summary

      Constructors 
      Constructor Description
      IGIBitmapWriter()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method 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.
      private static void write32​(java.io.OutputStream stream, float f)  
      private static void write32​(java.io.OutputStream stream, int i)  
      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
    • Field Detail

      • filename

        private java.lang.String filename
      • width

        private int width
      • height

        private int height
      • xyz

        private float[] xyz
    • 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
      • write32

        private static final void write32​(java.io.OutputStream stream,
                                          int i)
                                   throws java.io.IOException
        Throws:
        java.io.IOException
      • write32

        private static final void write32​(java.io.OutputStream stream,
                                          float f)
                                   throws java.io.IOException
        Throws:
        java.io.IOException