public abstract class ImageTranscoder extends SVGAbstractTranscoder
Two transcoding hints (KEY_WIDTH
and
KEY_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_COLOR
defines 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_AOI
represents the area of interest to paint
in device space.
Three additional transcoding hints that act on the SVG processor can be specified:
KEY_LANGUAGE
to set the default language to use (may be
used by a <switch> SVG element for example),
KEY_USER_STYLESHEET_URI
to fix the URI of a user
stylesheet, and KEY_MM_PER_PIXEL
to specify the number of
millimeters in each pixel .
SVGAbstractTranscoder.SVGAbstractTranscoderUserAgent
Modifier and Type | Field and Description |
---|---|
static TranscodingHints.Key |
KEY_BACKGROUND_COLOR
The image background paint key.
|
static TranscodingHints.Key |
KEY_FORCE_TRANSPARENT_WHITE
The forceTransparentWhite key.
|
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
KEY_DOCUMENT_ELEMENT, KEY_DOCUMENT_ELEMENT_NAMESPACE_URI, KEY_DOM_IMPLEMENTATION, KEY_XML_PARSER_CLASSNAME, KEY_XML_PARSER_VALIDATING
handler, hints
Modifier | Constructor and Description |
---|---|
protected |
ImageTranscoder()
Constructs a new
ImageTranscoder . |
Modifier and Type | Method and Description |
---|---|
abstract java.awt.image.BufferedImage |
createImage(int width,
int height)
Creates a new image with the specified dimension.
|
protected ImageRenderer |
createRenderer()
Method so subclasses can modify the Renderer used to render document.
|
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).
|
protected void |
transcode(Document document,
java.lang.String uri,
TranscoderOutput output)
Transcodes the specified Document as an image in the specified output.
|
abstract void |
writeImage(java.awt.image.BufferedImage img,
TranscoderOutput output)
Writes the specified image to the specified output.
|
createBridgeContext, createBridgeContext, createBridgeContext, createDocumentFactory, createUserAgent, getCanvasGraphicsNode, setImageSize, transcode
addTranscodingHint, getErrorHandler, getTranscodingHints, removeTranscodingHint, setErrorHandler, setTranscodingHints, setTranscodingHints
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addTranscodingHint, getErrorHandler, getTranscodingHints, removeTranscodingHint, setErrorHandler, setTranscodingHints, setTranscodingHints
public static final TranscodingHints.Key KEY_BACKGROUND_COLOR
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. |
public static final TranscodingHints.Key KEY_FORCE_TRANSPARENT_WHITE
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). |
protected void transcode(Document document, java.lang.String uri, TranscoderOutput output) throws TranscoderException
transcode
in class SVGAbstractTranscoder
document
- the document to transcodeuri
- the uri of the document or null if anyoutput
- the ouput where to transcodeTranscoderException
- if an error occured while transcodingprotected ImageRenderer createRenderer()
protected void forceTransparentWhite(java.awt.image.BufferedImage img, java.awt.image.SinglePixelPackedSampleModel sppsm)
img
- the image to convertsppsm
- public abstract java.awt.image.BufferedImage createImage(int width, int height)
width
- the image width in pixelsheight
- the image height in pixelspublic abstract void writeImage(java.awt.image.BufferedImage img, TranscoderOutput output) throws TranscoderException
img
- the image to writeoutput
- the output where to store the imageTranscoderException
- if an error occured while storing the imageCopyright © 2022 Apache Software Foundation. All Rights Reserved.