| java.lang.Object java.awt.Graphics org.apache.poi.hssf.usermodel.EscherGraphics
EscherGraphics | public class EscherGraphics extends Graphics (Code) | | Translates Graphics 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 performed 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 we've had 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) |
Constructor Summary | |
public | EscherGraphics(HSSFShapeGroup escherGroup, HSSFWorkbook workbook, Color forecolor, float verticalPointsPerPixel) Construct an escher graphics object.
Parameters: escherGroup - The escher group to write the graphics calls into. Parameters: workbook - The workbook we are using. Parameters: forecolor - The foreground color to use as default. Parameters: verticalPointsPerPixel - The font multiplier. | | EscherGraphics(HSSFShapeGroup escherGroup, HSSFWorkbook workbook, Color foreground, Font font, float verticalPointsPerPixel) Constructs an escher graphics object.
Parameters: escherGroup - The escher group to write the graphics calls into. Parameters: workbook - The workbook we are using. Parameters: foreground - The foreground color to use as default. Parameters: verticalPointsPerPixel - The font multiplier. |
Method Summary | |
public void | clearRect(int x, int y, int width, int height) | 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 | drawArc(int x, int y, int width, int height, int startAngle, int arcAngle) | 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) | public boolean | drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, ImageObserver observer) | public boolean | drawImage(Image image, int i, int j, int k, int l, Color color, ImageObserver imageobserver) | public boolean | drawImage(Image image, int i, int j, int k, int l, ImageObserver imageobserver) | public boolean | drawImage(Image image, int i, int j, Color color, ImageObserver imageobserver) | public boolean | drawImage(Image image, int i, int j, ImageObserver imageobserver) | public void | drawLine(int x1, int y1, int x2, int y2) | public void | drawLine(int x1, int y1, int x2, int y2, int width) | 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 | drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) | public void | drawString(String str, int x, int y) | public void | drawString(AttributedCharacterIterator iterator, int x, int y) | public void | fillArc(int x, int y, int width, int height, int startAngle, int arcAngle) | 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 Rectangle | getClipRect() | public Color | getColor() | HSSFShapeGroup | getEscherGraphics() | public Font | getFont() | public FontMetrics | getFontMetrics(Font f) | public void | setBackground(Color background) | public void | setClip(int x, int y, int width, int height) | public void | setClip(Shape shape) | public void | setColor(Color color) | public void | setFont(Font f) | public void | setPaintMode() | public void | setXORMode(Color color) | public void | translate(int x, int y) |
EscherGraphics | public EscherGraphics(HSSFShapeGroup escherGroup, HSSFWorkbook workbook, Color forecolor, float verticalPointsPerPixel)(Code) | | Construct an escher graphics object.
Parameters: escherGroup - The escher group to write the graphics calls into. Parameters: workbook - The workbook we are using. Parameters: forecolor - The foreground color to use as default. Parameters: verticalPointsPerPixel - The font multiplier. (See class description for information on how this works.). |
EscherGraphics | EscherGraphics(HSSFShapeGroup escherGroup, HSSFWorkbook workbook, Color foreground, Font font, float verticalPointsPerPixel)(Code) | | Constructs an escher graphics object.
Parameters: escherGroup - The escher group to write the graphics calls into. Parameters: workbook - The workbook we are using. Parameters: foreground - The foreground color to use as default. Parameters: verticalPointsPerPixel - The font multiplier. (See class description for information on how this works.). Parameters: font - The font to use. |
clearRect | public void clearRect(int x, int y, int width, int height)(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 img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, Color bgcolor, ImageObserver observer)(Code) | | |
drawImage | public boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, ImageObserver observer)(Code) | | |
drawLine | public void drawLine(int x1, int y1, int x2, int y2)(Code) | | |
drawLine | public void drawLine(int x1, int y1, int x2, int y2, int width)(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) | | |
drawRoundRect | public void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)(Code) | | |
drawString | public void drawString(String str, int x, int y)(Code) | | |
fillArc | public void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle)(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) | | |
setBackground | public void setBackground(Color background)(Code) | | |
setClip | public void setClip(int x, int y, int width, int height)(Code) | | |
setPaintMode | public void setPaintMode()(Code) | | |
translate | public void translate(int x, int y)(Code) | | |
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)
|
|
|