diff options
-rw-r--r-- | docs/img/tutorial_driver_cairo.png | bin | 0 -> 33101 bytes | |||
-rw-r--r-- | docs/tutorial.txt | 46 | ||||
-rw-r--r-- | docs/tutorial/tutorial_driver_cairo.php | 25 |
3 files changed, 54 insertions, 17 deletions
diff --git a/docs/img/tutorial_driver_cairo.png b/docs/img/tutorial_driver_cairo.png Binary files differnew file mode 100644 index 0000000..d819743 --- /dev/null +++ b/docs/img/tutorial_driver_cairo.png diff --git a/docs/tutorial.txt b/docs/tutorial.txt index 5dc5338..fc862f1 100644 --- a/docs/tutorial.txt +++ b/docs/tutorial.txt @@ -1005,11 +1005,22 @@ simple pie chart rendered using this template. The only drawback of SVG is that it is impossible to determine or define the exact width of text strings. As a result, the driver can only estimate the size of -text in the resulting image, which will sometimes fail slightly. +text in the resulting image, which will sometimes fail slightly. Since the +1.3 (2008.1) release you can work around this issue, by using the `Glyph support`_. .. [1] Abobe SVG plugin: http://www.adobe.com/svg/viewer/install/main.html .. [2] Corel SVG plugin: http://www.corel.com/servlet/Satellite?pagename=CorelCom/Layout&c=Content_C1&cid=1152796555406&lc=en +Glyph support +~~~~~~~~~~~~~ + +Since version 1.3 (2008.1) you may set a SVG font to be used by the SVG driver, +which will result in exact text width estimation using glyphs for the chracters +in texts. SVG fonts may be created from TTF fonts using the ttf2svg command +available in the `apache batik`__ package. + +__ http://xml.apache.org/batik/ + Embedding SVG in HTML ~~~~~~~~~~~~~~~~~~~~~ @@ -1054,12 +1065,12 @@ Another alternative for embedding SVGs in your HTML would be to use iframes. GD driver --------- -The GD driver is, for now, the choice for generating bitmap images. It supports +The GD driver is one of the choices for generating bitmap images. It supports different font types, if available in your PHP installation, like True Type -Fonts (using the FreeType 2 library or native TTF support) and PostScript -Type 1 fonts. We use super sampling to enable basic anti aliasing in the GD -driver, where the image is rendered twice as big and resized back to the -requested size. This is used for all image primitives except text and images. +Fonts (using the FreeType 2 library or native TTF support) and PostScript Type +1 fonts. We use super sampling to enable basic anti aliasing in the GD driver, +where the image is rendered twice as big and resized back to the requested +size. This is used for all image primitives except text and images. There are some drawbacks in the GD library that we have not been able to overcome: @@ -1080,6 +1091,29 @@ following example. .. image:: img/tutorial_driver_gd.jpg :alt: GD driver example jpeg +Cairo driver +------------ + + Cairo is a software library used to provide a vector graphics-based, + device-independent API for software developers. It is designed to provide + primitives for 2-dimensional drawing across a number of different + backends. Cairo is designed to use hardware acceleration when available. + + .. Wikipedia + +Using the PHP extension `pecl/cairo_wrapper`__ and the driver class +ezcGraphCairoDriver you can also create bitmaps with a far better quality then +the GD driver, supporting all features required by the graph components with +high quality anti aliasing. + +.. include:: tutorial/tutorial_driver_cairo.php + :literal: + +.. image:: img/tutorial_driver_cairo.jpg + :alt: Cairo driver example jpeg + +__ http://pecl.php.net/package/cairo_wrapper + Ming/Flash driver ----------------- diff --git a/docs/tutorial/tutorial_driver_cairo.php b/docs/tutorial/tutorial_driver_cairo.php index 37914fd..d4e6b2a 100644 --- a/docs/tutorial/tutorial_driver_cairo.php +++ b/docs/tutorial/tutorial_driver_cairo.php @@ -3,8 +3,12 @@ require_once 'tutorial_autoload.php'; $graph = new ezcGraphPieChart(); +$graph->palette = new ezcGraphPaletteEzBlue(); $graph->title = 'Access statistics'; -$graph->options->label = '%2$d (%3$.1f%%)'; +$graph->legend = false; + +// Set the cairo driver +$graph->driver = new ezcGraphCairoDriver(); $graph->data['Access statistics'] = new ezcGraphArrayDataSet( array( 'Mozilla' => 19113, @@ -13,24 +17,23 @@ $graph->data['Access statistics'] = new ezcGraphArrayDataSet( array( 'Safari' => 652, 'Konqueror' => 474, ) ); -$graph->data['Access statistics']->highlight['Explorer'] = true; -$graph->data['Access statistics']->symbol = ezcGraph::BULLET; $graph->renderer = new ezcGraphRenderer3d(); +$graph->renderer->options->pieChartGleam = .3; +$graph->renderer->options->pieChartGleamColor = '#FFFFFF'; $graph->renderer->options->pieChartShadowSize = 5; -$graph->renderer->options->pieChartShadowColor = ezcGraphColor::create( '#000000' ); -$graph->renderer->options->pieChartGleam = .5; -$graph->renderer->options->dataBorder = false; -$graph->renderer->options->pieChartHeight = 8; -$graph->renderer->options->pieChartSymbolColor = '#888A8588'; -$graph->renderer->options->pieChartRotation = .8; +$graph->renderer->options->pieChartShadowColor = '#000000'; + $graph->renderer->options->legendSymbolGleam = .5; $graph->renderer->options->legendSymbolGleamSize = .9; $graph->renderer->options->legendSymbolGleamColor = '#FFFFFF'; -$graph->driver = new ezcGraphCairoDriver(); +$graph->renderer->options->pieChartSymbolColor = '#55575388'; + +$graph->renderer->options->pieChartHeight = 5; +$graph->renderer->options->pieChartRotation = .8; -$graph->render( 400, 150, 'tutorial_driver_cairo.png' ); +$graph->render( 400, 300, 'tutorial_driver_cairo.png' ); ?> |