Inizializzazione
This commit is contained in:
171
jpgraph-3.5.0b1/src/Examples/mkgrad.php
Normal file
171
jpgraph-3.5.0b1/src/Examples/mkgrad.php
Normal file
@@ -0,0 +1,171 @@
|
||||
<?php // content="text/plain; charset=utf-8"
|
||||
//=======================================================================
|
||||
// File: MKGRAD.PHP
|
||||
// Description: Simple tool to create a gradient background
|
||||
// Ver: $Id$
|
||||
//=======================================================================
|
||||
|
||||
// Basic library classes
|
||||
require_once ('jpgraph/jpgraph.php');
|
||||
require_once ('jpgraph/jpgraph_bar.php');
|
||||
require_once ('jpgraph/jpgraph_canvas.php');
|
||||
|
||||
|
||||
// Must have a global comparison method for usort()
|
||||
function _cmp($a,$b) {
|
||||
return strcmp($a,$b);
|
||||
}
|
||||
|
||||
// Generate the input form
|
||||
class Form {
|
||||
var $iColors;
|
||||
var $iGradstyles;
|
||||
function Form() {
|
||||
|
||||
$rgb = new RGB();
|
||||
$this->iColors = array_keys($rgb->rgb_table);
|
||||
usort($this->iColors,'_cmp');
|
||||
|
||||
$this->iGradstyles = array(
|
||||
"Vertical",2,
|
||||
"Horizontal",1,
|
||||
"Vertical from middle",3,
|
||||
"Horizontal from middle",4,
|
||||
"Horizontal wider middle",6,
|
||||
"Vertical wider middle",7,
|
||||
"Rectangle",5 );
|
||||
}
|
||||
|
||||
function Run() {
|
||||
|
||||
echo '<h3>Generate gradient background</h3>';
|
||||
echo '<form METHOD=POST action=""><table style="border:blue solid 1;">';
|
||||
echo '<tr><td>Width:<br>'.$this->GenHTMLInput('w',8,4,300).'</td>';
|
||||
echo "\n";
|
||||
echo '<td>Height:<br>'.$this->GenHTMLInput('h',8,4,300).'</td></tr>';
|
||||
echo "\n";
|
||||
echo '<tr><td>From Color:<br>';
|
||||
echo $this->GenHTMLSelect('fc',$this->iColors);
|
||||
echo '</td><td>To Color:<br>';
|
||||
echo $this->GenHTMLSelect('tc',$this->iColors);
|
||||
echo '</td></tr>';
|
||||
echo '<tr><td colspan=2>Gradient style:<br>';
|
||||
echo $this->GenHTMLSelectCode('s',$this->iGradstyles);
|
||||
echo '</td></tr>';
|
||||
echo '<tr><td colspan=2>Filename: (empty to stream)<br>';
|
||||
echo $this->GenHTMLInput('fn',55,100);
|
||||
echo '</td></tr>';
|
||||
echo '<tr><td colspan=2 align=right>'.$this->GenHTMLSubmit('submit').'</td></tr>';
|
||||
echo '</table>';
|
||||
echo '</form>';
|
||||
|
||||
}
|
||||
|
||||
function GenHTMLSubmit($name) {
|
||||
return '<INPUT TYPE=submit name="ok" value=" Ok " >';
|
||||
}
|
||||
|
||||
|
||||
function GenHTMLInput($name,$len,$maxlen=100,$val='') {
|
||||
return '<INPUT TYPE=TEXT NAME='.$name.' VALUE="'.$val.'" SIZE='.$len.' MAXLENGTH='.$maxlen.'>';
|
||||
}
|
||||
|
||||
function GenHTMLSelect($name,$option,$selected="",$size=0) {
|
||||
$txt="<select name=$name";
|
||||
if( $size > 0 )
|
||||
$txt .= " size=$size >";
|
||||
else
|
||||
$txt .= ">";
|
||||
for($i=0; $i<count($option); $i++) {
|
||||
if( $selected==$option[$i] )
|
||||
$txt=$txt."<option selected value=\"$option[$i]\">$option[$i]</option>\n";
|
||||
else
|
||||
$txt=$txt."<option value=\"".$option[$i]."\">$option[$i]</option>\n";
|
||||
}
|
||||
return $txt."</select>\n";
|
||||
}
|
||||
|
||||
function GenHTMLSelectCode($name,$option,$selected="",$size=0) {
|
||||
$txt="<select name=$name";
|
||||
if( $size > 0 )
|
||||
$txt .= " size=$size >";
|
||||
else
|
||||
$txt .= ">";
|
||||
for($i=0; $i<count($option); $i += 2) {
|
||||
if( $selected==$option[($i+1)] )
|
||||
$txt=$txt."<option selected value=".$option[($i+1)].">$option[$i]</option>\n";
|
||||
else
|
||||
$txt=$txt."<option value=\"".$option[($i+1)]."\">$option[$i]</option>\n";
|
||||
}
|
||||
return $txt."</select>\n";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Basic application driver
|
||||
|
||||
class Driver {
|
||||
var $iGraph, $iGrad;
|
||||
var $iWidth,$iHeight;
|
||||
var $iFromColor, $iToColor;
|
||||
var $iStyle;
|
||||
var $iForm;
|
||||
|
||||
function Driver() {
|
||||
$this->iForm = new Form();
|
||||
}
|
||||
|
||||
function GenGradImage() {
|
||||
|
||||
$aWidth = (int)@$_POST['w'];
|
||||
$aHeight = (int)@$_POST['h'];
|
||||
$aFrom = @$_POST['fc'];
|
||||
$aTo = @$_POST['tc'];
|
||||
$aStyle = @$_POST['s'];
|
||||
$aFileName = @$_POST['fn'];
|
||||
|
||||
$this->iWidth = $aWidth;
|
||||
$this->iHeight = $aHeight;
|
||||
$this->iFromColor = $aFrom;
|
||||
$this->iToColor = $aTo;
|
||||
$this->iStyle = $aStyle;
|
||||
|
||||
$this->graph = new CanvasGraph($aWidth,$aHeight);
|
||||
$this->grad = new Gradient($this->graph->img);
|
||||
$this->grad->FilledRectangle(0,0,
|
||||
$this->iWidth,$this->iHeight,
|
||||
$this->iFromColor,
|
||||
$this->iToColor,
|
||||
$this->iStyle);
|
||||
|
||||
if( $aFileName != "" ) {
|
||||
$this->graph->Stroke($aFileName);
|
||||
echo "Image file '$aFileName' created.";
|
||||
}
|
||||
else
|
||||
$this->graph->Stroke();
|
||||
}
|
||||
|
||||
|
||||
function Run() {
|
||||
|
||||
global $HTTP_POST_VARS;
|
||||
|
||||
// Two modes:
|
||||
// 1) If the script is called with no posted arguments
|
||||
// we show the input form.
|
||||
// 2) If we have posted arguments we naivly assume that
|
||||
// we are called to do the image.
|
||||
|
||||
if( @$_POST['ok']===' Ok ' ) {
|
||||
$this->GenGradImage();
|
||||
}
|
||||
else
|
||||
$this->iForm->Run();
|
||||
}
|
||||
}
|
||||
|
||||
$driver = new Driver();
|
||||
$driver->Run();
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user