Package 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 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.
-
-
-
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"
- Specified by:
configure
in interfaceBitmapWriter
-
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 interfaceBitmapWriter
- 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 interfaceBitmapWriter
- Parameters:
width
- image widthheight
- image heighttileSize
- tile size or 0 if the image will not be sent in tiled form- Throws:
java.io.IOException
- thrown if an I/O error occursjava.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 interfaceBitmapWriter
- Parameters:
x
- tile x coordinatey
- tile y coordinatew
- tile widthh
- tile heightcolor
- color dataalpha
- 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 interfaceBitmapWriter
- 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
-
-