Passing GIFgraph Graphs to GD Objects
GIFgraph uses the GD module’s drawing primitives internally for drawing its graphs. Unfortunately there are no explicitly exported methods for interfacing GIFgraph objects with other GD objects. However, it is easy to pass a GIFgraph drawing to a GD object for further manipulation. This section will expand on the biorhythm example from the beginning of the chapter by merging the graph with another GIF image that will act as a frame for the graph.
For our purposes, the biopage.cgi
script
can still be used to generate the HTML
page that drives the example. The bio.cgi
script
that generates the graph image will have to be replaced with the
following script, whose output is shown in Figure 6.10:
#!/usr/local/bin/perl # # bio.cgi (modified) # This script demonstrates how to pass a graph drawn with GIFgraph to an # image created with the GD module. # use strict; use GD; use GIFgraph::bars; use Date::Calc; use CGI; my $query = new CGI; # Retrieve the parameters passed in from the form # my ($dob, $start, $end) =( $query->param('dob'), $query->param('start'), $query->param('end') ); # The following section is the same as the bio.cgi script from the # beginning of the chapter (without the comments) # my $pi = atan2(1,1) * 4; my $days = datediff(parsedate($start), parsedate($end)); my $dobdiff = datediff(parsedate($dob), parsedate($start)); my @xvalues = daterange(parsedate($start)); my @pvalues = calculate(23, $dobdiff % 23, $days); my @evalues = calculate(28, ...
Get Programming Web Graphics with Perl and GNU Softwar now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.