public class ImageFigure extends AbstractAttributedDecoratedFigure implements ImageHolderFigure
ImageHolderFigure which can hold a
buffered image.changingDepth, listenerListpropertySupportCONNECTABLE_PROPERTY, REMOVABLE_PROPERTY, SELECTABLE_PROPERTY, TRANSFORMABLE_PROPERTY| Constructor and Description |
|---|
ImageFigure()
Creates a new instance.
|
ImageFigure(double x,
double y,
double width,
double height) |
| Modifier and Type | Method and Description |
|---|---|
ImageFigure |
clone()
Returns a clone of the figure, with clones of all aggregated figures,
such as children and decorators.
|
protected void |
drawFigure(java.awt.Graphics2D g) |
protected void |
drawFill(java.awt.Graphics2D g)
This method is called by method draw() to draw the fill
area of the figure.
|
protected void |
drawImage(java.awt.Graphics2D g) |
protected void |
drawStroke(java.awt.Graphics2D g)
This method is called by method draw() to draw the text of the figure
.
|
boolean |
figureContains(java.awt.geom.Point2D.Double p)
Checks if a Point2D.Double is inside the figure.
|
Connector |
findCompatibleConnector(Connector c,
boolean isStartConnector)
Gets a compatible connector.
|
Connector |
findConnector(java.awt.geom.Point2D.Double p,
ConnectionFigure prototype)
Returns the Figures connector for the specified location.
|
java.util.Collection<javax.swing.Action> |
getActions(java.awt.geom.Point2D.Double p)
Returns a collection of actions which are presented to the user
in a popup menu.
|
java.awt.geom.Rectangle2D.Double |
getBounds()
Returns the untransformed logical bounds of the figure as a Rectangle.
|
java.awt.image.BufferedImage |
getBufferedImage()
Gets the buffered image.
|
java.awt.geom.Rectangle2D.Double |
getFigureDrawingArea() |
byte[] |
getImageData()
Gets the image data.
|
java.lang.Object |
getTransformRestoreData()
Gets data which can be used to restore the transformation of the figure
without loss of precision, after a transform has been applied to it.
|
void |
loadImage(java.io.File file)
Loads an image from a File.
|
void |
loadImage(java.io.InputStream in)
Loads an image from an Input Stream.
|
void |
read(DOMInput in) |
void |
restoreTransformTo(java.lang.Object geometry)
Restores the transform of the figure to a previously stored state.
|
void |
setBounds(java.awt.geom.Point2D.Double anchor,
java.awt.geom.Point2D.Double lead)
Sets the logical and untransformed bounds of the figure.
|
void |
setBufferedImage(java.awt.image.BufferedImage image)
Sets the buffered image.
|
void |
setImage(byte[] imageData,
java.awt.image.BufferedImage bufferedImage)
Sets the image.
|
void |
setImageData(byte[] imageData)
Sets the image data.
|
void |
transform(java.awt.geom.AffineTransform tx)
Transforms the figure.
|
void |
write(DOMOutput out) |
contains, draw, drawDecorator, getDecorator, getDrawingArea, readDecorator, setDecorator, updateDecoratorBounds, writeDecoratorapplyAttributesTo, drawText, get, getAttributeKey, getAttributes, getAttributesRestoreData, getStroke, getStrokeMiterLimitFactor, hasAttribute, isAttributeEnabled, readAttributes, removeAttribute, restoreAttributesTo, set, setAttributeEnabled, setAttributes, writeAttributesaddFigureListener, addNotify, changed, createHandles, findFigureInside, fireAreaInvalidated, fireAreaInvalidated, fireAreaInvalidated, fireAttributeChanged, fireFigureAdded, fireFigureChanged, fireFigureChanged, fireFigureChanged, fireFigureHandlesChanged, fireFigureRemoved, fireFigureRequestRemove, fireUndoableEditHappened, getChangingDepth, getConnectors, getCursor, getDecomposition, getDrawing, getEndPoint, getFontRenderContext, getLayer, getLock, getPreferredSize, getStartPoint, getTool, getToolTipText, handleDrop, handleMouseClick, includes, invalidate, isChanging, isConnectable, isRemovable, isSelectable, isTransformable, isVisible, remap, removeFigureListener, removeNotify, requestRemove, setBounds, setConnectable, setRemovable, setSelectable, setTransformable, setVisible, toString, validate, willChangeaddPropertyChangeListener, addPropertyChangeListener, firePropertyChange, firePropertyChange, firePropertyChange, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListenerequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitaddFigureListener, addNotify, addPropertyChangeListener, changed, contains, createHandles, draw, findFigureInside, get, getAttributes, getAttributesRestoreData, getConnectors, getCursor, getDecomposition, getDrawingArea, getEndPoint, getLayer, getPreferredSize, getStartPoint, getTool, getToolTipText, handleDrop, handleMouseClick, includes, isConnectable, isRemovable, isSelectable, isTransformable, isVisible, remap, removeFigureListener, removeNotify, removePropertyChangeListener, requestRemove, restoreAttributesTo, set, willChangepublic ImageFigure()
public ImageFigure(double x,
double y,
double width,
double height)
protected void drawFigure(java.awt.Graphics2D g)
drawFigure in class AbstractAttributedDecoratedFigureprotected void drawFill(java.awt.Graphics2D g)
AbstractAttributedFiguredrawFill in class AbstractAttributedFigureprotected void drawImage(java.awt.Graphics2D g)
protected void drawStroke(java.awt.Graphics2D g)
AbstractAttributedFiguredrawStroke in class AbstractAttributedFigurepublic java.awt.geom.Rectangle2D.Double getBounds()
FigureThe bounds are used by Handle objects for adjusting the figure and for aligning the figure on a grid.
public java.awt.geom.Rectangle2D.Double getFigureDrawingArea()
getFigureDrawingArea in class AbstractAttributedDecoratedFigurepublic boolean figureContains(java.awt.geom.Point2D.Double p)
figureContains in class AbstractAttributedDecoratedFigurepublic void setBounds(java.awt.geom.Point2D.Double anchor,
java.awt.geom.Point2D.Double lead)
FigureThis is used by Tool's which create a new Figure and by Tool's which connect a Figure to another Figure.
This is a basic operation which does not fire events. Use the following code sequence, if you need event firing:
figure.willChange(); figure.setBounds(...); figure.changed();
setBounds in interface FiguresetBounds in class AbstractFigureanchor - the start point of the boundslead - the end point of the boundsFigure.getBounds()public void transform(java.awt.geom.AffineTransform tx)
transform in interface Figuretx - The transformation.Figure.getTransformRestoreData(),
Figure.restoreTransformTo(java.lang.Object)public void restoreTransformTo(java.lang.Object geometry)
FigurerestoreTransformTo in interface Figurepublic java.lang.Object getTransformRestoreData()
FiguregetTransformRestoreData in interface FigureFigure.transform(AffineTransform)public java.util.Collection<javax.swing.Action> getActions(java.awt.geom.Point2D.Double p)
AbstractFigureThe collection may contain null entries. These entries are used interpreted as separators in the popup menu.
getActions in interface FiguregetActions in class AbstractFigurepublic Connector findConnector(java.awt.geom.Point2D.Double p, ConnectionFigure prototype)
AbstractFigurefindConnector in interface FigurefindConnector in class AbstractFigurep - the location of the connector.prototype - The prototype used to create a connection or null if
unknown. This allows for specific connectors for different
connection figures.ChopRectangleConnectorpublic Connector findCompatibleConnector(Connector c, boolean isStartConnector)
FigurefindCompatibleConnector in interface FigurefindCompatibleConnector in class AbstractFigurepublic ImageFigure clone()
Figureclone in interface Figureclone in class AbstractAttributedDecoratedFigurepublic void read(DOMInput in) throws java.io.IOException
read in interface DOMStorableread in class AbstractAttributedDecoratedFigurejava.io.IOExceptionpublic void write(DOMOutput out) throws java.io.IOException
write in interface DOMStorablewrite in class AbstractAttributedDecoratedFigurejava.io.IOExceptionpublic void setImage(byte[] imageData,
java.awt.image.BufferedImage bufferedImage)
setImage in interface ImageHolderFigureimageData - The image data. If this is null, a buffered image must
be provided.bufferedImage - An image constructed from the imageData. If this
is null, imageData must be provided.public void setImageData(byte[] imageData)
Note: For performance reasons this method stores a reference to the imageData array instead of cloning it. Do not modify the image data array after invoking this method.
public void setBufferedImage(java.awt.image.BufferedImage image)
setBufferedImage in interface ImageHolderFigurepublic java.awt.image.BufferedImage getBufferedImage()
getBufferedImage in interface ImageHolderFigurepublic byte[] getImageData()
Note: For performance reasons this method returns a reference to the internally used image data array instead of cloning it. Do not modify this array.
getImageData in interface ImageHolderFigurepublic void loadImage(java.io.File file)
throws java.io.IOException
ImageHolderFigureloadImage in interface ImageHolderFigurejava.io.IOExceptionpublic void loadImage(java.io.InputStream in)
throws java.io.IOException
ImageHolderFigureloadImage in interface ImageHolderFigurejava.io.IOException