org.pentaho.reporting.libraries.base.util
public class PngEncoder extends Object implements ImageEncoder
Thanks to Jay Denny at KeyPoint Software http://www.keypoint.com/ who let me develop this code on company time.
You may contact me with (probably very-much-needed) improvements, comments, and bug fixes at:
david@catcode.com
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. A copy of the GNU
LGPL may be found at http://www.gnu.org/copyleft/lesser.html
Version: 1.5, 19 Oct 2003 CHANGES: -------- 19-Nov-2002 : CODING STYLE CHANGES ONLY (by David Gilbert for Object Refinery Limited); 19-Sep-2003 : Fix for platforms using EBCDIC (contributed by Paulo Soares); 19-Oct-2003 : Change private fields to protected fields so that PngEncoderB can inherit them (JDE) Fixed bug with calculation of nRows
Field Summary | |
---|---|
static boolean | ENCODE_ALPHA
Constant specifying that alpha channel should be encoded. |
static int | FILTER_LAST
Constants for filter (LAST). |
static int | FILTER_NONE
Constants for filter (NONE). |
static int | FILTER_SUB
Constants for filter (SUB). |
static int | FILTER_UP
Constants for filter (UP). |
static boolean | NO_ALPHA
Constant specifying that alpha channel should not be encoded. |
Constructor Summary | |
---|---|
PngEncoder()
Class constructor. | |
PngEncoder(Image image)
Class constructor specifying Image to encode, with no alpha channel encoding.
| |
PngEncoder(Image image, boolean encodeAlpha)
Class constructor specifying Image to encode, and whether to encode alpha.
| |
PngEncoder(Image image, boolean encodeAlpha, int whichFilter)
Class constructor specifying Image to encode, whether to encode alpha, and filter to use.
| |
PngEncoder(Image image, boolean encodeAlpha, int whichFilter, int compLevel)
Class constructor specifying Image source to encode, whether to encode alpha, filter to use, and compression
level.
|
Method Summary | |
---|---|
void | encodeImage(Image image, OutputStream outputStream, float quality, boolean encodeAlpha) |
int | getCompressionLevel()
Retrieve compression level.
|
boolean | getEncodeAlpha()
Retrieve alpha encoding status.
|
int | getFilter()
Retrieve filtering scheme.
|
Image | getImage()
Returns the image to be encoded. |
String | getMimeType() |
int | getXDpi()
Get the DPI for the X axis.
|
int | getYDpi()
Get the DPI for the Y axis.
|
byte[] | pngEncode(boolean encodeAlpha)
Creates an array of bytes that is the PNG equivalent of the current image, specifying whether to encode alpha or
not.
|
byte[] | pngEncode()
Creates an array of bytes that is the PNG equivalent of the current image. |
void | setCompressionLevel(int level)
Set the compression level to use.
|
void | setDpi(int xDpi, int yDpi)
Set the DPI resolution.
|
void | setEncodeAlpha(boolean encodeAlpha)
Set the alpha encoding on or off.
|
void | setFilter(int whichFilter)
Set the filter to use.
|
void | setImage(Image image)
Set the image to be encoded.
|
void | setXDpi(int xDpi)
Set the DPI for the X axis.
|
void | setYDpi(int yDpi)
Set the DPI for the Y axis.
|
Parameters: image A Java Image object which uses the DirectColorModel
See Also: java.awt.Image
Parameters: image A Java Image object which uses the DirectColorModel encodeAlpha Encode the alpha channel? false=no; true=yes
See Also: java.awt.Image
Parameters: image A Java Image object which uses the DirectColorModel encodeAlpha Encode the alpha channel? false=no; true=yes whichFilter 0=none, 1=sub, 2=up
See Also: java.awt.Image
Parameters: image A Java Image object encodeAlpha Encode the alpha channel? false=no; true=yes whichFilter 0=none, 1=sub, 2=up compLevel 0..9 (1 = best speed, 9 = best compression, 0 = no compression)
See Also: java.awt.Image
Returns: int (1 = best speed, 9 = best compression, 0 = no compression)
Returns: boolean false=no, true=yes
Returns: int (see constant list)
Returns: the image to be encoded.
Returns: The number of dots per inch
Returns: The number of dots per inch
Parameters: encodeAlpha boolean false=no alpha, true=encode alpha
Returns: an array of bytes, or null if there was a problem
Returns: an array of bytes, or null if there was a problem
Parameters: level the compression level (1 = best speed, 9 = best compression, 0 = no compression)
Parameters: xDpi The number of dots per inch for the X axis. yDpi The number of dots per inch for the Y axis.
Parameters: encodeAlpha false=no, true=yes
Parameters: whichFilter from constant list
Parameters: image A Java Image object which uses the DirectColorModel
See Also: java.awt.Image java.awt.image.DirectColorModel
Parameters: xDpi The number of dots per inch
Parameters: yDpi The number of dots per inch