ChartDirector 6.0 (Perl Edition)
V-Linear Meter Orientation
Source Code Listing
#!/usr/bin/perl # In the sample code, the ChartDirector for Perl module is assumed to be in "../lib" use File::Basename; use lib (dirname($0)."/../lib") =~ /(.*)/; use perlchartdir; sub createChart { my $chartIndex = shift; # The value to display on the meter my $value = 75.35; # Create a LinearMeter object of size 70 x 240 pixels with very light grey (0xeeeeee) backgruond # and a light grey (0xccccccc) 3-pixel thick rounded frame my $m = new LinearMeter(70, 240, 0xeeeeee, 0xcccccc); $m->setRoundedFrame($perlchartdir::Transparent); $m->setThickFrame(3); # This example demonstrates putting the text labels at the left or right side by setting the # label alignment and scale position. if ($chartIndex == 0) { $m->setMeter(28, 18, 20, 205, $perlchartdir::Left); } else { $m->setMeter(20, 18, 20, 205, $perlchartdir::Right); } # Set meter scale from 0 - 100, with a tick every 10 units $m->setScale(0, 100, 10); # Add a smooth color scale to the meter my $smoothColorScale = [0, 0x6666ff, 25, 0x00bbbb, 50, 0x00ff00, 75, 0xffff00, 100, 0xff0000]; $m->addColorScale($smoothColorScale); # Add a blue (0x0000cc) pointer at the specified value $m->addPointer($value, 0x0000cc); # Output the chart $m->makeChart("vlinearmeterorientation$chartIndex.png") } createChart(0); createChart(1); |
#!/usr/bin/perl # In the sample code, the ChartDirector for Perl module is assumed to be in "../lib" use File::Basename; use lib (dirname($0)."/../lib") =~ /(.*)/; use perlchartdir; # Get HTTP query parameters use CGI; my $query = new CGI; # This script can draw different charts depending on the chartIndex $chartIndex = int($query->param("img")); # The value to display on the meter my $value = 75.35; # Create a LinearMeter object of size 70 x 240 pixels with very light grey (0xeeeeee) backgruond and # a light grey (0xccccccc) 3-pixel thick rounded frame my $m = new LinearMeter(70, 240, 0xeeeeee, 0xcccccc); $m->setRoundedFrame($perlchartdir::Transparent); $m->setThickFrame(3); # This example demonstrates putting the text labels at the left or right side by setting the label # alignment and scale position. if ($chartIndex == 0) { $m->setMeter(28, 18, 20, 205, $perlchartdir::Left); } else { $m->setMeter(20, 18, 20, 205, $perlchartdir::Right); } # Set meter scale from 0 - 100, with a tick every 10 units $m->setScale(0, 100, 10); # Add a smooth color scale to the meter my $smoothColorScale = [0, 0x6666ff, 25, 0x00bbbb, 50, 0x00ff00, 75, 0xffff00, 100, 0xff0000]; $m->addColorScale($smoothColorScale); # Add a blue (0x0000cc) pointer at the specified value $m->addPointer($value, 0x0000cc); # Output the chart binmode(STDOUT); print "Content-type: image/png\n\n"; print $m->makeChart2($perlchartdir::PNG); |