- <?//lecture des paramètres ---
- $l=$_GET["l"];
- $h=$_GET["h"];
- $sens=$_GET["sens"]; //sens : 1->horizontal, 2->vertical, 3->diagonal
- $c1=array('r'=>$_GET["r1"],'v'=>$_GET["v1"],'b'=>$_GET["b1"]);
- $c2=array('r'=>$_GET["r2"],'v'=>$_GET["v2"],'b'=>$_GET["b2"]);
- //---
-
- $im=imagecreatetruecolor($l,$h);
- $blanc=imagecolorallocate($im,255,255,255);
- switch ($sens)
- {
- case 1 : $t=$l; break;
- case 2 : $t=$h; break;
- case 3 : $t=$l+$h; break;
- }
-
- //on dessine une ligne verticale, horizontale ou diagonale pour chaque pixel entre 0 et $t
- for ($i=0;$i<$t;$i++)
- {
- $r = $c1['r'] + $i*($c2['r']-$c1['r'])/$t;
- $v = $c1['v'] + $i*($c2['v']-$c1['v'])/$t;
- $b = $c1['b'] + $i*($c2['b']-$c1['b'])/$t;
- $c=imagecolorallocate($im,$r,$v,$b);
- switch ($sens)
- {
- case 1 : imageline($im,$i,0,$i,$h,$c); break;
- case 2 : imageline($im,0,$i,$l,$i,$c); break;
- case 3 : imageline($im,max(0,($i-$h)),min($i,$h),min($i,$l),max(0,($i-$l)),$c); break;
- }
- }
-
- header("Content-Type: image/png");
- imagepng($im);
- imagedestroy($im);?>
<?//lecture des paramètres ---
$l=$_GET["l"];
$h=$_GET["h"];
$sens=$_GET["sens"]; //sens : 1->horizontal, 2->vertical, 3->diagonal
$c1=array('r'=>$_GET["r1"],'v'=>$_GET["v1"],'b'=>$_GET["b1"]);
$c2=array('r'=>$_GET["r2"],'v'=>$_GET["v2"],'b'=>$_GET["b2"]);
//---
$im=imagecreatetruecolor($l,$h);
$blanc=imagecolorallocate($im,255,255,255);
switch ($sens)
{
case 1 : $t=$l; break;
case 2 : $t=$h; break;
case 3 : $t=$l+$h; break;
}
//on dessine une ligne verticale, horizontale ou diagonale pour chaque pixel entre 0 et $t
for ($i=0;$i<$t;$i++)
{
$r = $c1['r'] + $i*($c2['r']-$c1['r'])/$t;
$v = $c1['v'] + $i*($c2['v']-$c1['v'])/$t;
$b = $c1['b'] + $i*($c2['b']-$c1['b'])/$t;
$c=imagecolorallocate($im,$r,$v,$b);
switch ($sens)
{
case 1 : imageline($im,$i,0,$i,$h,$c); break;
case 2 : imageline($im,0,$i,$l,$i,$c); break;
case 3 : imageline($im,max(0,($i-$h)),min($i,$h),min($i,$l),max(0,($i-$l)),$c); break;
}
}
header("Content-Type: image/png");
imagepng($im);
imagedestroy($im);?>