Interface Canvas
-
- All Superinterfaces:
java.lang.AutoCloseable,java.io.Closeable
- All Known Implementing Classes:
AbstractCanvas,PDFCanvas,PNGCanvas,SVGCanvas
public interface Canvas extends java.io.CloseableCommon graphics interface for drawingThe coordinate system is initialized by
setupPage. It's origin is initially in the bottom left corner of the pages and extends in x-direction to the right and in y-direction to the top.All text has to be in the font Helvetica. Arial should also do as the font metrics are similar enough and advanced text placing such a justified text is not used.
A canvas may only be used to generate a single page. After the result has been retrieved, the instance must not be used anymore.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaddRectangle(double x, double y, double width, double height)Adds a rectangle to the pathvoidfillPath(int color)Fills the current path and ends itbyte[]getResult()Returns the generated graphics as a byte arrayvoidlineTo(double x, double y)Adds a line segment to the open path from the previous point to the speicifed position.voidmoveTo(double x, double y)Moves the current point of the open path to the specified position.voidputText(java.lang.String text, double x, double y, int fontSize, boolean isBold)Adds text to the graphics.voidputTextLines(java.lang.String[] lines, double x, double y, int fontSize, double leading)Adds several lines of text to the graphics.voidsetTransformation(double translateX, double translateY, double scale)Sets a translation and a scale factor for the subsequent operationsvoidsetupPage(double width, double height)Sets up the pagevoidstartPath()Starts a path that can be filled or strokedvoidstrokePath(double strokeWidth, int color)Strokes the current path and ends it
-
-
-
Method Detail
-
setupPage
void setupPage(double width, double height) throws java.io.IOExceptionSets up the pageThe page (and graphics context) is not valid until this method has been called.
- Parameters:
width- width of page (in mm)height- height of page (in mm)- Throws:
java.io.IOException- thrown if graphics cannot be generated
-
setTransformation
void setTransformation(double translateX, double translateY, double scale) throws java.io.IOExceptionSets a translation and a scale factor for the subsequent operationsBefore a new translation is applied, the coordinate system is reset to it's original state after page setup (see
setupPage).- Parameters:
translateX- translation in x direction (in mm)translateY- translation in y direction (in mm)scale- scale fator (1.0 = no scaling)- Throws:
java.io.IOException- thrown if the graphics cannot be generated
-
putText
void putText(java.lang.String text, double x, double y, int fontSize, boolean isBold) throws java.io.IOExceptionAdds text to the graphics.The text position refers to the left most point on the text's baseline.
- Parameters:
text- the textx- x position of the text's start (in mm)y- y position of the text's top (in mm)fontSize- the font size (in pt)isBold- indicates if the text is in bold or regular weight- Throws:
java.io.IOException- thrown if the graphics cannot be generated
-
putTextLines
void putTextLines(java.lang.String[] lines, double x, double y, int fontSize, double leading) throws java.io.IOExceptionAdds several lines of text to the graphics.The text position refers to the left most point on the baseline of the first text line. Additional lines then follow below.
- Parameters:
lines- the text linesx- x position of the text's start (in mm)y- y position of the text's top (in mm)fontSize- the font size (in pt)leading- additional vertical space between text lines (in mm)- Throws:
java.io.IOException- thrown if the graphics cannot be generated
-
startPath
void startPath() throws java.io.IOExceptionStarts a path that can be filled or stroked- Throws:
java.io.IOException- thrown if the graphics cannot be generated
-
moveTo
void moveTo(double x, double y) throws java.io.IOExceptionMoves the current point of the open path to the specified position.- Parameters:
x- x-coordinate of positiony- y-coordinate of position- Throws:
java.io.IOException- thrown if the graphics cannot be generated
-
lineTo
void lineTo(double x, double y) throws java.io.IOExceptionAdds a line segment to the open path from the previous point to the speicifed position.- Parameters:
x- x-coordinate of positiony- y-coordinate of position- Throws:
java.io.IOException- thrown if the graphics cannot be generated
-
addRectangle
void addRectangle(double x, double y, double width, double height) throws java.io.IOExceptionAdds a rectangle to the path- Parameters:
x- the rectangle's left position (in mm)y- the rectangle's top position (in mm)width- the rectangle's width (in mm)height- rectangle's height (in mm)- Throws:
java.io.IOException- thrown if the graphics cannot be generated
-
fillPath
void fillPath(int color) throws java.io.IOExceptionFills the current path and ends it- Parameters:
color- the fill color (expressed similar to HTML, e.g. 0xffffff for white)- Throws:
java.io.IOException- thrown if the graphics cannot be generated
-
strokePath
void strokePath(double strokeWidth, int color) throws java.io.IOExceptionStrokes the current path and ends it- Parameters:
strokeWidth- the stroke width (in pt)color- the stroke color (expressed similar to HTML, e.g. 0xffffff for white)- Throws:
java.io.IOException- thrown if the graphics cannot be generated
-
getResult
byte[] getResult() throws java.io.IOExceptionReturns the generated graphics as a byte arrayAfter this method was called, the page is no longer valid.
- Returns:
- the byte array
- Throws:
java.io.IOException- thrown if the graphics cannot be generated
-
-