public interface Canvas
extends java.io.Closeable
The 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.
| Modifier and Type | Method and Description |
|---|---|
void |
addRectangle(double x,
double y,
double width,
double height)
Adds a rectangle to the path
|
void |
fillPath(int color)
Fills the current path and ends it
|
byte[] |
getResult()
Returns the generated graphics as a byte array
After this method was called, the page is no longer valid.
|
void |
lineTo(double x,
double y)
Adds a line segment to the open path from the previous point to the speicifed position.
|
void |
moveTo(double x,
double y)
Moves the current point of the open path to the specified position.
|
int |
putMultilineText(java.lang.String text,
double x,
double y,
int fontSize,
double maxWidth,
double leading)
Adds several lines of text to the graphics.
|
void |
putText(java.lang.String text,
double x,
double y,
int fontSize,
boolean isBold)
Adds text to the graphics.
|
void |
putTextLines(java.lang.String[] lines,
double x,
double y,
int fontSize,
double leading)
Adds several lines of text to the graphics.
|
void |
setTransformation(double translateX,
double translateY,
double scale)
Sets a translation and a scale factor for the subsequent operations
Before a new translation is applied, the coordinate system is
reset to it's original state after page setup (see
setupPage). |
void |
setupPage(double width,
double height)
Sets up the page
The page (and graphics context) is not valid until
this method has been called.
|
void |
startPath()
Starts a path that can be filled or stroked
|
void |
strokePath(double strokeWidth,
int color)
Strokes the current path and ends it
|
void setupPage(double width,
double height)
throws java.io.IOException
The page (and graphics context) is not valid until this method has been called.
width - width of page (in mm)height - height of page (in mm)java.io.IOException - thrown if graphics cannot be generatedvoid setTransformation(double translateX,
double translateY,
double scale)
throws java.io.IOException
Before a new translation is applied, the coordinate system is
reset to it's original state after page setup (see setupPage).
translateX - translation in x direction (in mm)translateY - translation in y direction (in mm)scale - scale fator (1.0 = no scaling)java.io.IOException - thrown if the graphics cannot be generatedvoid putText(java.lang.String text,
double x,
double y,
int fontSize,
boolean isBold)
throws java.io.IOException
The text position refers to the left most point on the text's baseline.
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 weightjava.io.IOException - thrown if the graphics cannot be generatedint putMultilineText(java.lang.String text,
double x,
double y,
int fontSize,
double maxWidth,
double leading)
throws java.io.IOException
The specified text is automatically broken into several lines if a text line would exceed the specified maximum length of a text line. Newlines can be used to force a line break.
The text position refers to the left most point on the baseline of the first text line. Additional lines then follow below.
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)maxWidth - maximum length of text line / width of text block (in mm)leading - additional vertical space between text lines (in mm)java.io.IOException - thrown if the graphics cannot be generatedvoid putTextLines(java.lang.String[] lines,
double x,
double y,
int fontSize,
double leading)
throws java.io.IOException
The text position refers to the left most point on the baseline of the first text line. Additional lines then follow below.
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)java.io.IOException - thrown if the graphics cannot be generatedvoid startPath()
throws java.io.IOException
java.io.IOException - thrown if the graphics cannot be generatedvoid moveTo(double x,
double y)
throws java.io.IOException
x - x-coordinate of positiony - y-coordinate of positionjava.io.IOException - thrown if the graphics cannot be generatedvoid lineTo(double x,
double y)
throws java.io.IOException
x - x-coordinate of positiony - y-coordinate of positionjava.io.IOException - thrown if the graphics cannot be generatedvoid addRectangle(double x,
double y,
double width,
double height)
throws java.io.IOException
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)java.io.IOException - thrown if the graphics cannot be generatedvoid fillPath(int color)
throws java.io.IOException
color - the fill color (expressed similar to HTML, e.g. 0xffffff for white)java.io.IOException - thrown if the graphics cannot be generatedvoid strokePath(double strokeWidth,
int color)
throws java.io.IOException
strokeWidth - the stroke width (in pt)color - the stroke color (expressed similar to HTML, e.g. 0xffffff for white)java.io.IOException - thrown if the graphics cannot be generatedbyte[] getResult()
throws java.io.IOException
After this method was called, the page is no longer valid.
java.io.IOException - thrown if the graphics cannot be generated