| java.lang.Object java.awt.Graphics java.awt.Graphics2D org.apache.poi.hssf.usermodel.EscherGraphics2d
EscherGraphics2d | public class EscherGraphics2d extends Graphics2D (Code) | | Translates Graphics2d calls into escher calls. The translation is lossy so
many features are not supported and some just aren't implemented yet. If
in doubt test the specific calls you wish to make. Graphics calls are
always drawn into an EscherGroup so one will need to be created.
Important:
One important concept worth considering is that of font size. One of the
difficulties in converting Graphics calls into escher drawing calls is that
Excel does not have the concept of absolute pixel positions. It measures
it's cell widths in 'characters' and the cell heights in points.
Unfortunately it's not defined exactly what a type of character it's
measuring. Presumably this is due to the fact that the Excel will be
using different fonts on different platforms or even within the same
platform.
Because of this constraint you have to calculate the verticalPointsPerPixel.
This the amount the font should be scaled by when
you issue commands such as drawString(). A good way to calculate this
is to use the follow formula:
multipler = groupHeightInPoints / heightOfGroup
The height of the group is calculated fairly simply by calculating the
difference between the y coordinates of the bounding box of the shape. The
height of the group can be calculated by using a convenience called
HSSFClientAnchor.getAnchorHeightInPoints() .
author: Glen Stampoultzis (glens at apache.org) |
Method Summary | |
public void | addRenderingHints(Map map) | public void | clearRect(int i, int j, int k, int l) | public void | clip(Shape shape) | public void | clipRect(int x, int y, int width, int height) | public void | copyArea(int x, int y, int width, int height, int dx, int dy) | public Graphics | create() | public void | dispose() | public void | draw(Shape shape) | public void | drawArc(int x, int y, int width, int height, int startAngle, int arcAngle) | public void | drawGlyphVector(GlyphVector g, float x, float y) | public boolean | drawImage(Image image, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, Color bgColor, ImageObserver imageobserver) | public boolean | drawImage(Image image, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, ImageObserver imageobserver) | public boolean | drawImage(Image image, int dx1, int dy1, int dx2, int dy2, Color bgColor, ImageObserver imageobserver) | public boolean | drawImage(Image img, int x, int y, int width, int height, ImageObserver observer) | public boolean | drawImage(Image image, int x, int y, Color bgColor, ImageObserver imageobserver) | public boolean | drawImage(Image image, int x, int y, ImageObserver imageobserver) | public boolean | drawImage(Image image, AffineTransform affinetransform, ImageObserver imageobserver) | public void | drawImage(BufferedImage bufferedimage, BufferedImageOp op, int x, int y) | public void | drawLine(int x1, int y1, int x2, int y2, int width) | public void | drawLine(int x1, int y1, int x2, int y2) | public void | drawOval(int x, int y, int width, int height) | public void | drawPolygon(int xPoints, int yPoints, int nPoints) | public void | drawPolyline(int xPoints, int yPoints, int nPoints) | public void | drawRect(int x, int y, int width, int height) | public void | drawRenderableImage(RenderableImage renderableimage, AffineTransform affinetransform) | public void | drawRenderedImage(RenderedImage renderedimage, AffineTransform affinetransform) | public void | drawRoundRect(int i, int j, int k, int l, int i1, int j1) | public void | drawString(String string, float x, float y) | public void | drawString(String string, int x, int y) | public void | drawString(AttributedCharacterIterator attributedcharacteriterator, float x, float y) | public void | drawString(AttributedCharacterIterator attributedcharacteriterator, int x, int y) | public void | fill(Shape shape) | public void | fillArc(int i, int j, int k, int l, int i1, int j1) | public void | fillOval(int x, int y, int width, int height) | public void | fillPolygon(int xPoints, int yPoints, int nPoints) Fills a (closed) polygon, as defined by a pair of arrays, which
hold the x and y coordinates. | public void | fillRect(int x, int y, int width, int height) | public void | fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) | public Color | getBackground() | public Shape | getClip() | public Rectangle | getClipBounds() | public Color | getColor() | public Composite | getComposite() | public GraphicsConfiguration | getDeviceConfiguration() | public Font | getFont() | public FontMetrics | getFontMetrics(Font font) | public FontRenderContext | getFontRenderContext() | public Paint | getPaint() | public Object | getRenderingHint(java.awt.RenderingHints.Key key) | public RenderingHints | getRenderingHints() | public Stroke | getStroke() | public AffineTransform | getTransform() | public boolean | hit(Rectangle rectangle, Shape shape, boolean flag) | public void | rotate(double d) | public void | rotate(double d, double d1, double d2) | public void | scale(double d, double d1) | public void | setBackground(Color c) | public void | setClip(int i, int j, int k, int l) | public void | setClip(Shape shape) | public void | setColor(Color c) | public void | setComposite(Composite composite) | public void | setFont(Font font) | public void | setPaint(Paint paint1) | public void | setPaintMode() | public void | setRenderingHint(java.awt.RenderingHints.Key key, Object obj) | public void | setRenderingHints(Map map) | public void | setStroke(Stroke s) | public void | setTransform(AffineTransform affinetransform) | public void | setXORMode(Color color1) | public void | shear(double d, double d1) | public void | transform(AffineTransform affinetransform) | public void | translate(double d, double d1) | public void | translate(int i, int j) |
EscherGraphics2d | public EscherGraphics2d(EscherGraphics escherGraphics)(Code) | | Constructs one escher graphics object from an escher graphics object.
Parameters: escherGraphics - the original EscherGraphics2d object to copy |
addRenderingHints | public void addRenderingHints(Map map)(Code) | | |
clearRect | public void clearRect(int i, int j, int k, int l)(Code) | | |
clipRect | public void clipRect(int x, int y, int width, int height)(Code) | | |
copyArea | public void copyArea(int x, int y, int width, int height, int dx, int dy)(Code) | | |
dispose | public void dispose()(Code) | | |
drawArc | public void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle)(Code) | | |
drawImage | public boolean drawImage(Image image, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, Color bgColor, ImageObserver imageobserver)(Code) | | |
drawImage | public boolean drawImage(Image image, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, ImageObserver imageobserver)(Code) | | |
drawLine | public void drawLine(int x1, int y1, int x2, int y2, int width)(Code) | | |
drawLine | public void drawLine(int x1, int y1, int x2, int y2)(Code) | | |
drawOval | public void drawOval(int x, int y, int width, int height)(Code) | | |
drawPolygon | public void drawPolygon(int xPoints, int yPoints, int nPoints)(Code) | | |
drawPolyline | public void drawPolyline(int xPoints, int yPoints, int nPoints)(Code) | | |
drawRect | public void drawRect(int x, int y, int width, int height)(Code) | | |
drawRenderableImage | public void drawRenderableImage(RenderableImage renderableimage, AffineTransform affinetransform)(Code) | | |
drawRenderedImage | public void drawRenderedImage(RenderedImage renderedimage, AffineTransform affinetransform)(Code) | | |
drawRoundRect | public void drawRoundRect(int i, int j, int k, int l, int i1, int j1)(Code) | | |
drawString | public void drawString(String string, float x, float y)(Code) | | |
drawString | public void drawString(String string, int x, int y)(Code) | | |
fillArc | public void fillArc(int i, int j, int k, int l, int i1, int j1)(Code) | | |
fillOval | public void fillOval(int x, int y, int width, int height)(Code) | | |
fillPolygon | public void fillPolygon(int xPoints, int yPoints, int nPoints)(Code) | | Fills a (closed) polygon, as defined by a pair of arrays, which
hold the x and y coordinates.
This draws the polygon, with nPoint line segments.
The first nPoint - 1 line segments are
drawn between sequential points
(xPoints[i],yPoints[i],xPoints[i+1],yPoints[i+1] ).
The final line segment is a closing one, from the last point to
the first (assuming they are different).
The area inside of the polygon is defined by using an
even-odd fill rule (also known as the alternating rule), and
the area inside of it is filled.
Parameters: xPoints - array of the x coordinates. Parameters: yPoints - array of the y coordinates. Parameters: nPoints - the total number of points in the polygon. See Also: java.awt.Graphics.drawPolygon(int[]int[]int) |
fillRect | public void fillRect(int x, int y, int width, int height)(Code) | | |
fillRoundRect | public void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)(Code) | | |
getRenderingHint | public Object getRenderingHint(java.awt.RenderingHints.Key key)(Code) | | |
rotate | public void rotate(double d)(Code) | | |
rotate | public void rotate(double d, double d1, double d2)(Code) | | |
scale | public void scale(double d, double d1)(Code) | | |
setClip | public void setClip(int i, int j, int k, int l)(Code) | | |
setPaintMode | public void setPaintMode()(Code) | | |
setRenderingHint | public void setRenderingHint(java.awt.RenderingHints.Key key, Object obj)(Code) | | |
setRenderingHints | public void setRenderingHints(Map map)(Code) | | |
shear | public void shear(double d, double d1)(Code) | | |
translate | public void translate(double d, double d1)(Code) | | |
translate | public void translate(int i, int j)(Code) | | |
Methods inherited from java.awt.Graphics2D | abstract public void addRenderingHints(Map, ?> hints)(Code)(Java Doc) abstract public void clip(Shape s)(Code)(Java Doc) abstract public void draw(Shape s)(Code)(Java Doc) public void draw3DRect(int x, int y, int width, int height, boolean raised)(Code)(Java Doc) abstract public void drawGlyphVector(GlyphVector g, float x, float y)(Code)(Java Doc) abstract public boolean drawImage(Image img, AffineTransform xform, ImageObserver obs)(Code)(Java Doc) abstract public void drawImage(BufferedImage img, BufferedImageOp op, int x, int y)(Code)(Java Doc) abstract public void drawRenderableImage(RenderableImage img, AffineTransform xform)(Code)(Java Doc) abstract public void drawRenderedImage(RenderedImage img, AffineTransform xform)(Code)(Java Doc) abstract public void drawString(String str, int x, int y)(Code)(Java Doc) abstract public void drawString(String str, float x, float y)(Code)(Java Doc) abstract public void drawString(AttributedCharacterIterator iterator, int x, int y)(Code)(Java Doc) abstract public void drawString(AttributedCharacterIterator iterator, float x, float y)(Code)(Java Doc) abstract public void fill(Shape s)(Code)(Java Doc) public void fill3DRect(int x, int y, int width, int height, boolean raised)(Code)(Java Doc) abstract public Color getBackground()(Code)(Java Doc) abstract public Composite getComposite()(Code)(Java Doc) abstract public GraphicsConfiguration getDeviceConfiguration()(Code)(Java Doc) abstract public FontRenderContext getFontRenderContext()(Code)(Java Doc) abstract public Paint getPaint()(Code)(Java Doc) abstract public Object getRenderingHint(Key hintKey)(Code)(Java Doc) abstract public RenderingHints getRenderingHints()(Code)(Java Doc) abstract public Stroke getStroke()(Code)(Java Doc) abstract public AffineTransform getTransform()(Code)(Java Doc) abstract public boolean hit(Rectangle rect, Shape s, boolean onStroke)(Code)(Java Doc) abstract public void rotate(double theta)(Code)(Java Doc) abstract public void rotate(double theta, double x, double y)(Code)(Java Doc) abstract public void scale(double sx, double sy)(Code)(Java Doc) abstract public void setBackground(Color color)(Code)(Java Doc) abstract public void setComposite(Composite comp)(Code)(Java Doc) abstract public void setPaint(Paint paint)(Code)(Java Doc) abstract public void setRenderingHint(Key hintKey, Object hintValue)(Code)(Java Doc) abstract public void setRenderingHints(Map, ?> hints)(Code)(Java Doc) abstract public void setStroke(Stroke s)(Code)(Java Doc) abstract public void setTransform(AffineTransform Tx)(Code)(Java Doc) abstract public void shear(double shx, double shy)(Code)(Java Doc) abstract public void transform(AffineTransform Tx)(Code)(Java Doc) abstract public void translate(int x, int y)(Code)(Java Doc) abstract public void translate(double tx, double ty)(Code)(Java Doc)
|
Methods inherited from java.awt.Graphics | abstract public void clearRect(int x, int y, int width, int height)(Code)(Java Doc) abstract public void clipRect(int x, int y, int width, int height)(Code)(Java Doc) abstract public void copyArea(int x, int y, int width, int height, int dx, int dy)(Code)(Java Doc) abstract public Graphics create()(Code)(Java Doc) public Graphics create(int x, int y, int width, int height)(Code)(Java Doc) abstract public void dispose()(Code)(Java Doc) public void draw3DRect(int x, int y, int width, int height, boolean raised)(Code)(Java Doc) abstract public void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle)(Code)(Java Doc) public void drawBytes(byte data, int offset, int length, int x, int y)(Code)(Java Doc) public void drawChars(char data, int offset, int length, int x, int y)(Code)(Java Doc) abstract public boolean drawImage(Image img, int x, int y, ImageObserver observer)(Code)(Java Doc) abstract public boolean drawImage(Image img, int x, int y, int width, int height, ImageObserver observer)(Code)(Java Doc) abstract public boolean drawImage(Image img, int x, int y, Color bgcolor, ImageObserver observer)(Code)(Java Doc) abstract public boolean drawImage(Image img, int x, int y, int width, int height, Color bgcolor, ImageObserver observer)(Code)(Java Doc) abstract public boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, ImageObserver observer)(Code)(Java Doc) abstract public boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, Color bgcolor, ImageObserver observer)(Code)(Java Doc) abstract public void drawLine(int x1, int y1, int x2, int y2)(Code)(Java Doc) abstract public void drawOval(int x, int y, int width, int height)(Code)(Java Doc) abstract public void drawPolygon(int xPoints, int yPoints, int nPoints)(Code)(Java Doc) public void drawPolygon(Polygon p)(Code)(Java Doc) abstract public void drawPolyline(int xPoints, int yPoints, int nPoints)(Code)(Java Doc) public void drawRect(int x, int y, int width, int height)(Code)(Java Doc) abstract public void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)(Code)(Java Doc) abstract public void drawString(String str, int x, int y)(Code)(Java Doc) abstract public void drawString(AttributedCharacterIterator iterator, int x, int y)(Code)(Java Doc) public void fill3DRect(int x, int y, int width, int height, boolean raised)(Code)(Java Doc) abstract public void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle)(Code)(Java Doc) abstract public void fillOval(int x, int y, int width, int height)(Code)(Java Doc) abstract public void fillPolygon(int xPoints, int yPoints, int nPoints)(Code)(Java Doc) public void fillPolygon(Polygon p)(Code)(Java Doc) abstract public void fillRect(int x, int y, int width, int height)(Code)(Java Doc) abstract public void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)(Code)(Java Doc) public void finalize()(Code)(Java Doc) abstract public Shape getClip()(Code)(Java Doc) abstract public Rectangle getClipBounds()(Code)(Java Doc) public Rectangle getClipBounds(Rectangle r)(Code)(Java Doc) public Rectangle getClipRect()(Code)(Java Doc) abstract public Color getColor()(Code)(Java Doc) abstract public Font getFont()(Code)(Java Doc) public FontMetrics getFontMetrics()(Code)(Java Doc) abstract public FontMetrics getFontMetrics(Font f)(Code)(Java Doc) public boolean hitClip(int x, int y, int width, int height)(Code)(Java Doc) abstract public void setClip(int x, int y, int width, int height)(Code)(Java Doc) abstract public void setClip(Shape clip)(Code)(Java Doc) abstract public void setColor(Color c)(Code)(Java Doc) abstract public void setFont(Font font)(Code)(Java Doc) abstract public void setPaintMode()(Code)(Java Doc) abstract public void setXORMode(Color c1)(Code)(Java Doc) public String toString()(Code)(Java Doc) abstract public void translate(int x, int y)(Code)(Java Doc)
|
|
|