Module org.apache.wicket.core
Class RenderedDynamicImageResource
java.lang.Object
org.apache.wicket.request.resource.AbstractResource
org.apache.wicket.request.resource.DynamicImageResource
org.apache.wicket.markup.html.image.resource.RenderedDynamicImageResource
- All Implemented Interfaces:
Serializable
,IResource
,IClusterable
- Direct Known Subclasses:
DefaultButtonImageResource
A DynamicImageResource subclass that allows easy rendering of regeneratable (unbuffered) dynamic
images. A RenderedDynamicImageResource implements the abstract method render(Graphics2D) to
create/re-create a given image on-the-fly. When a RenderedDynamicImageResource is serialized, the
image state is transient, which means it will disappear when the resource is sent over the wire
and then will be recreated when required.
The format of the image (and therefore the resource's extension) can be specified with setFormat(String). The default format is "PNG" because JPEG is lossy and makes generated images look bad and GIF has patent issues.
- Author:
- Jonathan Locke, Gili Tzabari, Johan Compagner
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.wicket.request.resource.AbstractResource
AbstractResource.ContentRangeType, AbstractResource.ResourceResponse, AbstractResource.WriteCallback
Nested classes/interfaces inherited from interface org.apache.wicket.request.resource.IResource
IResource.Attributes
-
Field Summary
Fields inherited from class org.apache.wicket.request.resource.AbstractResource
CONTENT_DISPOSITION_HEADER_NAME, CONTENT_RANGE_ENDBYTE, CONTENT_RANGE_STARTBYTE, INTERNAL_HEADERS
-
Constructor Summary
ConstructorDescriptionRenderedDynamicImageResource
(int width, int height) Constructor.RenderedDynamicImageResource
(int width, int height, String format) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionint
protected byte[]
getImageData
(IResource.Attributes attributes) Get image data for our dynamic image resource.int
getType()
int
getWidth()
void
Causes the image to be redrawn the next time its requested.protected abstract boolean
render
(Graphics2D graphics, IResource.Attributes attributes) Override this method to provide your rendering code.protected byte[]
render
(IResource.Attributes attributes) Renders this imagevoid
setHeight
(int height) void
setType
(int type) void
setWidth
(int width) Methods inherited from class org.apache.wicket.request.resource.DynamicImageResource
configureResponse, getFormat, newResourceResponse, setFormat, setLastModifiedTime, toImageData
Methods inherited from class org.apache.wicket.request.resource.AbstractResource
configureCache, getCachingStrategy, respond, setRequestMetaData, setRequestRangeMetaData, setResponseContentRangeHeaderFields, setResponseHeaders
-
Constructor Details
-
RenderedDynamicImageResource
Constructor.- Parameters:
width
- Width of imageheight
- Height of image
-
RenderedDynamicImageResource
Constructor.- Parameters:
width
- Width of imageheight
- Height of imageformat
- The format of the image (jpg, png or gif)
-
-
Method Details
-
getHeight
- Returns:
- Returns the height.
-
getType
- Returns:
- Returns the type (one of BufferedImage.TYPE_*).
-
getWidth
- Returns:
- Returns the width.
-
invalidate
Causes the image to be redrawn the next time its requested. -
setHeight
- Parameters:
height
- The height to set.
-
setType
- Parameters:
type
- The type to set (one of BufferedImage.TYPE_*).
-
setWidth
- Parameters:
width
- The width to set.
-
getImageData
Description copied from class:DynamicImageResource
Get image data for our dynamic image resource. If the subclass regenerates the data, it should set theDynamicImageResource.setLastModifiedTime(Instant)
when it does so. This ensures that image caching works correctly.- Specified by:
getImageData
in classDynamicImageResource
- Parameters:
attributes
- the context bringing the request, response and the parameters- Returns:
- The image data for this dynamic image.
null
means there is no image and 404 (Not found) response will be return.
-
render
Renders this image- Parameters:
attributes
- the current request attributes- Returns:
- The image data
-
render
Override this method to provide your rendering code.- Parameters:
graphics
- The graphics context to render on.attributes
- the current request attributes- Returns:
true
if the image was rendered.false
if the image size was changed by the rendering implementation and the image should be re-rendered at the new size.
-