Class ImageTranscoder
- java.lang.Object
-
- org.apache.batik.transcoder.TranscoderSupport
-
- org.apache.batik.transcoder.AbstractTranscoder
-
- org.apache.batik.transcoder.XMLAbstractTranscoder
-
- org.apache.batik.transcoder.SVGAbstractTranscoder
-
- org.apache.batik.transcoder.image.ImageTranscoder
-
- All Implemented Interfaces:
Transcoder
- Direct Known Subclasses:
JPEGTranscoder,PNGTranscoder,TIFFTranscoder
public abstract class ImageTranscoder extends SVGAbstractTranscoder
This class enables to transcode an input to an image of any format.Two transcoding hints (
KEY_WIDTHandKEY_HEIGHT) can be used to respectively specify the image width and the image height. If only one of these keys is specified, the transcoder preserves the aspect ratio of the original image.The
KEY_BACKGROUND_COLORdefines the background color to use for opaque image formats, or the background color that may be used for image formats that support alpha channel.The
KEY_AOIrepresents the area of interest to paint in device space.Three additional transcoding hints that act on the SVG processor can be specified:
KEY_LANGUAGEto set the default language to use (may be used by a <switch> SVG element for example),KEY_USER_STYLESHEET_URIto fix the URI of a user stylesheet, andKEY_MM_PER_PIXELto specify the number of millimeters in each pixel .- Version:
- $Id: ImageTranscoder.java 1805419 2017-08-18 13:04:30Z ssteiner $
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.batik.transcoder.SVGAbstractTranscoder
SVGAbstractTranscoder.SVGAbstractTranscoderUserAgent
-
-
Field Summary
Fields Modifier and Type Field Description static TranscodingHints.KeyKEY_BACKGROUND_COLORThe image background paint key.static TranscodingHints.KeyKEY_FORCE_TRANSPARENT_WHITEThe forceTransparentWhite key.-
Fields inherited from class org.apache.batik.transcoder.SVGAbstractTranscoder
builder, ctx, curAOI, curTxf, DEFAULT_ALLOWED_SCRIPT_TYPES, DEFAULT_DEFAULT_FONT_FAMILY, height, KEY_ALLOW_EXTERNAL_RESOURCES, KEY_ALLOWED_SCRIPT_TYPES, KEY_ALTERNATE_STYLESHEET, KEY_AOI, KEY_CONSTRAIN_SCRIPT_ORIGIN, KEY_DEFAULT_FONT_FAMILY, KEY_EXECUTE_ONLOAD, KEY_HEIGHT, KEY_LANGUAGE, KEY_MAX_HEIGHT, KEY_MAX_WIDTH, KEY_MEDIA, KEY_PIXEL_TO_MM, KEY_PIXEL_UNIT_TO_MILLIMETER, KEY_SNAPSHOT_TIME, KEY_USER_STYLESHEET_URI, KEY_WIDTH, root, userAgent, width
-
Fields inherited from class org.apache.batik.transcoder.XMLAbstractTranscoder
KEY_DOCUMENT_ELEMENT, KEY_DOCUMENT_ELEMENT_NAMESPACE_URI, KEY_DOM_IMPLEMENTATION, KEY_XML_PARSER_CLASSNAME, KEY_XML_PARSER_VALIDATING
-
Fields inherited from class org.apache.batik.transcoder.TranscoderSupport
handler, hints
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedImageTranscoder()Constructs a newImageTranscoder.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract java.awt.image.BufferedImagecreateImage(int width, int height)Creates a new image with the specified dimension.protected ImageRenderercreateRenderer()Method so subclasses can modify the Renderer used to render document.protected voidforceTransparentWhite(java.awt.image.BufferedImage img, java.awt.image.SinglePixelPackedSampleModel sppsm)Converts an image so that viewers which do not support the alpha channel will see a white background (and not a black one).protected voidtranscode(org.w3c.dom.Document document, java.lang.String uri, TranscoderOutput output)Transcodes the specified Document as an image in the specified output.abstract voidwriteImage(java.awt.image.BufferedImage img, TranscoderOutput output)Writes the specified image to the specified output.-
Methods inherited from class org.apache.batik.transcoder.SVGAbstractTranscoder
createBridgeContext, createBridgeContext, createBridgeContext, createDocumentFactory, createUserAgent, getCanvasGraphicsNode, setImageSize, transcode
-
Methods inherited from class org.apache.batik.transcoder.TranscoderSupport
addTranscodingHint, getErrorHandler, getTranscodingHints, removeTranscodingHint, setErrorHandler, setTranscodingHints, setTranscodingHints
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.batik.transcoder.Transcoder
addTranscodingHint, getErrorHandler, getTranscodingHints, removeTranscodingHint, setErrorHandler, setTranscodingHints, setTranscodingHints
-
-
-
-
Field Detail
-
KEY_BACKGROUND_COLOR
public static final TranscodingHints.Key KEY_BACKGROUND_COLOR
The image background paint key.Key: KEY_BACKGROUND_COLOR Value: Paint Default: null Required: No Description: Specify the background color to use. The color is required by opaque image formats and is used by image formats that support alpha channel.
-
KEY_FORCE_TRANSPARENT_WHITE
public static final TranscodingHints.Key KEY_FORCE_TRANSPARENT_WHITE
The forceTransparentWhite key.Key: KEY_FORCE_TRANSPARENT_WHITE Value: Boolean Default: false Required: No Description: It controls whether the encoder should force the image's fully transparent pixels to be fully transparent white instead of fully transparent black. This is useful when the encoded file is displayed in a browser which does not support transparency correctly and lets the image display with a white background instead of a black background.
However, note that the modified image will display differently over a white background in a viewer that supports transparency.
Not all Transcoders use this key (in particular some formats can't preserve the alpha channel at all in which case this is not used).
-
-
Method Detail
-
transcode
protected void transcode(org.w3c.dom.Document document, java.lang.String uri, TranscoderOutput output) throws TranscoderExceptionTranscodes the specified Document as an image in the specified output.- Overrides:
transcodein classSVGAbstractTranscoder- Parameters:
document- the document to transcodeuri- the uri of the document or null if anyoutput- the ouput where to transcode- Throws:
TranscoderException- if an error occured while transcoding
-
createRenderer
protected ImageRenderer createRenderer()
Method so subclasses can modify the Renderer used to render document.
-
forceTransparentWhite
protected void forceTransparentWhite(java.awt.image.BufferedImage img, java.awt.image.SinglePixelPackedSampleModel sppsm)Converts an image so that viewers which do not support the alpha channel will see a white background (and not a black one).- Parameters:
img- the image to convertsppsm-
-
createImage
public abstract java.awt.image.BufferedImage createImage(int width, int height)Creates a new image with the specified dimension.- Parameters:
width- the image width in pixelsheight- the image height in pixels
-
writeImage
public abstract void writeImage(java.awt.image.BufferedImage img, TranscoderOutput output) throws TranscoderExceptionWrites the specified image to the specified output.- Parameters:
img- the image to writeoutput- the output where to store the image- Throws:
TranscoderException- if an error occured while storing the image
-
-