note 35766 deleted from function.imagecopyresized by aidan
| From: | aidan@php.net | Date: | Mon, 04 Oct 2004 09:39:08 +0000 |
| Subject: | note 35766 deleted from function.imagecopyresized by aidan | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-77911@lists.php.net to get a copy of this message | ||
Note Submitter: chris at drunkenpirates dot co dot uk
----
<?php
/*
An example combining the use of ImageColorAllocate, Imagesetpixel, Imagecopyresized and some basic
Trig
By chris@drunkenpirates.co.uk
*/
Header("Content-type: image/png");
$height = 128;
$width = 128;
$imA = ImageCreate($width, $height);
$imB = ImageCreate($width*4, $height*4);
$bckA = ImageColorAllocate($imA, 0,0,0);
$bckB = ImageColorAllocate($imB, 0,0,0);
//GENERATE GRAY SCALE PALLETE
for($c=0;$c<256;$c++){
ImageColorAllocate($imA, $c, $c, $c);
}
//PRODUCE DATA
$m=rand(0,10);
for($c=0;$c<128;$c++){
$s= (sin( deg2rad($c*360*$m/128) )+1)*127;
$col_arr[$c]=$s;
}
for($y=0;$y<$height;$y++){
for($x=0;$x<$width;$x++){
$imgA[$x][$y]=$col_arr[$x];
}
}
for($y=0;$y<$height;$y++){
for($x=0;$x<$width;$x++){
$imgB[$x][$y]=$col_arr[$y];
}
}
//SET PIXELS
for($y=0;$y<$height;$y++){
for($x=0;$x<$width;$x++){
$imgC[$x][$y]=$imgA[$x][$y]+$imgB[$x][$y];
$s=$imgC[$x][$y]/2;
Imagesetpixel($imA,$x,$y,$s);
}
}
//RESIZE IMAGE FOR DISPLAY
Imagecopyresized ($imB, $imA, 0, 0, 0, 0, $width*4, $height*4, $width, $width);
ImagePNG($imB);
?>