Graph: ezcGraphCairoDriver
[ ]
[ Gallery ]
[ ]
[ ]
[ ]
[ ]
Class: ezcGraphCairoDriver
|
Extension of the basic driver package to utilize the cairo library. [
source]
As this is the default driver you do not need to explicitely set anything to use it, but may use some of its advanced features.
1. $graph = new ezcGraphPieChart();
2. $graph->background->color = '#FFFFFFFF';
3. $graph->title = 'Access statistics';
4. $graph->legend = false;
5.
6. $graph->data['Access statistics'] = new ezcGraphArrayDataSet( array(
7. 'Mozilla' => 19113,
8. 'Explorer' => 10917,
9. 'Opera' => 1464,
10. 'Safari' => 652,
11. 'Konqueror' => 474,
12. ) );
13.
14. $graph->renderer = new ezcGraphRenderer3d();
15. $graph->renderer->options->pieChartShadowSize = 10;
16. $graph->renderer->options->pieChartGleam = .5;
17. $graph->renderer->options->dataBorder = false;
18. $graph->renderer->options->pieChartHeight = 16;
19. $graph->renderer->options->legendSymbolGleam = .5;
20.
21. // Use cairo driver
22. $graph->driver = new ezcGraphCairoDriver();
23.
24. $graph->render( 400, 200, 'tutorial_driver_cairo.png' );
Parents
ezcGraphDriver
|
--ezcGraphCairoDriver
Member Variables
|
protected resource |
$context
Current cairo context. |
|
protected array |
$strings
= array()
List of strings to draw
array ( array( 'text' => array( 'strings' ), 'options' => ezcGraphFontOptions, ) |
|
protected resource |
$surface
Surface for cairo |
Inherited Member Variables
From
ezcGraphDriver:
Method Summary
|
protected void |
drawAllTexts(
)
Draw all collected texts |
|
public void |
drawCircle(
$center, $width, $height, $color, [$filled = true] )
Draw circle |
|
public void |
drawCircleSector(
$center, $width, $height, $startAngle, $endAngle, $color, [$filled = true] )
Draws a sector of cirlce |
|
public void |
drawCircularArc(
$center, $width, $height, $size, $startAngle, $endAngle, $color, [$filled = true] )
Draws a circular arc |
|
public void |
drawImage(
$file, $position, $width, $height )
Draw an image |
|
public void |
drawLine(
$start, $end, $color, [$thickness = 1.] )
Draws a line |
|
public void |
drawPolygon(
$points, $color, [$filled = true], [$thickness = 1.] )
Draws a single polygon. |
|
public void |
drawTextBox(
$string, $position, $width, $height, $align, [$rotation = null] )
Writes text in a box of desired size |
|
public string |
getMimeType(
)
Return mime type for current image format |
|
public array |
getResource(
)
Get resource of rendered result |
|
protected string |
getStyle(
$color, [$filled = true], [$thickness = 1.] )
Get SVG style definition |
|
protected ezcGraphBoundings |
getTextBoundings(
$size, $font, $text )
Returns boundings of text depending on the available font extension |
|
protected void |
initiliazeSurface(
)
Initilize cairo surface |
|
public void |
render(
$file )
Finally save image |
|
protected void |
renderText(
$text, $font, $color, $position, $size, [$rotation = null], $id )
Render text depending of font type and available font extensions |
|
public void |
renderToOutput(
)
Render image directly to output |
|
protected string |
simulateCircularArc(
$center, $width, $height, $size, $startAngle, $endAngle, $color, $filled )
Draws a circular arc consisting of several minor steps on the bounding lines. |
Inherited Methods
From
ezcGraphDriver :
Methods
drawAllTexts
void drawAllTexts(
)
Draw all collected texts
The texts are collected and their maximum possible font size is calculated. This function finally draws the texts on the image, this delayed drawing has two reasons:
1) This way the text strings are always on top of the image, what results in better readable texts 2) The maximum possible font size can be calculated for a set of texts with the same font configuration. Strings belonging to one chart element normally have the same font configuration, so that all texts belonging to one element will have the same font size.
drawCircle
Draw circle
Parameters
| Name |
Type |
Description |
$center |
ezcGraphCoordinate |
Center of ellipse |
$width |
mixed |
Width of ellipse |
$height |
mixed |
height of ellipse |
$color |
ezcGraphColor |
Color |
$filled |
mixed |
Filled |
Redefinition of
drawCircleSector
void drawCircleSector(
ezcGraphCoordinate
$center, mixed
$width, mixed
$height, mixed
$startAngle, mixed
$endAngle,
ezcGraphColor
$color, [mixed
$filled = true] )
Draws a sector of cirlce
Parameters
| Name |
Type |
Description |
$center |
ezcGraphCoordinate |
Center of circle |
$width |
mixed |
Width |
$height |
mixed |
Height |
$startAngle |
mixed |
Start angle of circle sector |
$endAngle |
mixed |
End angle of circle sector |
$color |
ezcGraphColor |
Color |
$filled |
mixed |
Filled; |
Redefinition of
drawCircularArc
void drawCircularArc(
ezcGraphCoordinate
$center, integer
$width, integer
$height, integer
$size, float
$startAngle, float
$endAngle,
ezcGraphColor
$color, [bool
$filled = true] )
Draws a circular arc
Parameters
| Name |
Type |
Description |
$center |
ezcGraphCoordinate |
Center of ellipse |
$width |
integer |
Width of ellipse |
$height |
integer |
Height of ellipse |
$size |
integer |
Height of border |
$startAngle |
float |
Starting angle of circle sector |
$endAngle |
float |
Ending angle of circle sector |
$color |
ezcGraphColor |
Color of Border |
$filled |
bool |
|
Redefinition of
drawImage
Draw an image
The image will be inlined in the SVG document using data URL scheme. For this the mime type and base64 encoded file content will be merged to URL.
Parameters
| Name |
Type |
Description |
$file |
mixed |
Image file |
$position |
ezcGraphCoordinate |
Top left position |
$width |
mixed |
Width of image in destination image |
$height |
mixed |
Height of image in destination image |
Redefinition of
drawLine
Draws a line
Parameters
Redefinition of
drawPolygon
void drawPolygon(
$points,
ezcGraphColor
$color, [mixed
$filled = true], [float
$thickness = 1.] )
Draws a single polygon.
Parameters
| Name |
Type |
Description |
$points |
array |
Point array |
$color |
ezcGraphColor |
Polygon color |
$filled |
mixed |
Filled |
$thickness |
float |
Line thickness |
Redefinition of
drawTextBox
void drawTextBox(
string
$string,
ezcGraphCoordinate
$position, float
$width, float
$height, int
$align, [
$rotation = null] )
Writes text in a box of desired size
Parameters
| Name |
Type |
Description |
$string |
string |
Text |
$position |
ezcGraphCoordinate |
Top left position |
$width |
float |
Width of text box |
$height |
float |
Height of text box |
$align |
int |
Alignement of text |
$rotation |
ezcGraphRotation |
|
Redefinition of
getMimeType
string getMimeType(
)
Return mime type for current image format
Redefinition of
getResource
array getResource(
)
Get resource of rendered result
Return the resource of the rendered result. You should not use this method before you called either renderToOutput() or render(), as the image may not be completely rendered until then.
This method returns an array, containing the surface and the context in a structure like:
1. array(
2. 'surface' => resource,
3. 'context' => resource,
4. )
getStyle
string getStyle(
ezcGraphColor
$color, [mixed
$filled = true], [float
$thickness = 1.] )
Get SVG style definition
Returns a string with SVG style definitions created from color, fillstatus and line thickness.
Parameters
| Name |
Type |
Description |
$color |
ezcGraphColor |
Color |
$filled |
mixed |
Filled |
$thickness |
float |
Line thickness. |
getTextBoundings
Returns boundings of text depending on the available font extension
Parameters
Redefinition of
initiliazeSurface
void initiliazeSurface(
)
Initilize cairo surface
Initilize cairo surface from values provided in the options object, if is has not been already initlized.
render
void render(
string
$file )
Finally save image
Parameters
| Name |
Type |
Description |
$file |
string |
Destination filename |
Redefinition of
renderText
Render text depending of font type and available font extensions
Parameters
renderToOutput
void renderToOutput(
)
Render image directly to output
The method renders the image directly to the standard output. You normally do not want to use this function, because it makes it harder to proper cache the generated graphs.
Redefinition of
simulateCircularArc
string simulateCircularArc(
ezcGraphCoordinate
$center, mixed
$width, mixed
$height, mixed
$size, mixed
$startAngle, mixed
$endAngle,
ezcGraphColor
$color, bool
$filled )
Draws a circular arc consisting of several minor steps on the bounding lines.
Parameters
| Name |
Type |
Description |
$center |
ezcGraphCoordinate |
|
$width |
mixed |
|
$height |
mixed |
|
$size |
mixed |
|
$startAngle |
mixed |
|
$endAngle |
mixed |
|
$color |
ezcGraphColor |
|
$filled |
bool |
|
Last updated: Mon, 21 Dec 2009