Package org.sunflow.image.writers
Class PNGBitmapWriter
- java.lang.Object
-
- org.sunflow.image.writers.PNGBitmapWriter
-
- All Implemented Interfaces:
BitmapWriter
public class PNGBitmapWriter extends java.lang.Object implements BitmapWriter
-
-
Constructor Summary
Constructors Constructor Description PNGBitmapWriter()
-
Method Summary
All 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.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
-
-