Creates a GdkPixbuf object based on a GD image object.
This method opens a range of possible interactions with PEAR packages: Any package that is able to produce GD images can be used to display its output directly in a GtkImage widget by loading the GD resource into a pixbuf.
The following examples uses the PEAR package Image_Graph to create a chart. Then it obtains internally used GD object and converts it to a GdkPixbuf, which itself is used as base for the GtkImage widget.
Example 6. Displaying a chart created with Image_Graph
<?php /** * Using Image_Graph to create a chart and displaying it directly * in a GtkImage widget, getting it to there with the * GdkPixbuf::new_from_gd() method. * * The Image_Graph code is a slightly modified version of the * simple.php example. * * You need Image_Graph version 0.7.3 or higher (0.7.2 doesn't * support the required "none" output switch) */ include 'Image/Graph.php'; //we want to use the gd library $Graph = Image_Graph::factory('graph', array(array('width' => 400, 'height' => 300, 'canvas' => 'gd'))); //prepare the chart $Plotarea = $Graph->addNew('plotarea'); $Dataset = Image_Graph::factory('dataset'); $Dataset->addPoint('Denmark', 10); $Dataset->addPoint('Norway', 3); $Dataset->addPoint('Sweden', 8); $Dataset->addPoint('Finland', 5); $Plot = $Plotarea->addNew('bar', $Dataset); $Plot->setLineColor('blue@0.2'); //This is the key: Don't output anything, just finish it $Graph->done(array('output' => 'none')); //get the gd object $canvas = $Graph->_getCanvas(); $gd = $canvas->_canvas; //Create GdkPixbuf from the GD object $pixbuf = GdkPixbuf::new_from_gd($gd); //Display the pixbuf by using a GtkImage widget $wnd = new GtkWindow(); $wnd->connect_simple('destroy', array('Gtk', 'main_quit')); $wnd->add(GtkImage::new_from_pixbuf($pixbuf)); $wnd->show_all(); Gtk::main(); ?> |