note 96141 deleted from function.imagerotate by danbrown
| From: | danbrown@php.net | Date: | Wed, 10 Feb 2010 23:18:20 +0000 |
| Subject: | note 96141 deleted from function.imagerotate by danbrown | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-165846@lists.php.net to get a copy of this message | ||
Note Submitter: ynblpb at thaos dot org
----
Note from 23-Sep-2009 09:13 has an error. When we rotate image to 270 degrees it have black line on
top. Correct version:
function rotateImage($img, $rotation) {
$width = imagesx($img);
$height = imagesy($img);
switch($rotation) {
case 90: $newimg= @imagecreatetruecolor($height , $width );break;
case 180: $newimg= @imagecreatetruecolor($width , $height );break;
case 270: $newimg= @imagecreatetruecolor($height , $width );break;
case 0: return $img;break;
case 360: return $img;break;
}
if($newimg) {
for($i = 0;$i < $width ; $i++) {
for($j = 0;$j < $height ; $j++) {
$reference = imagecolorat($img,$i,$j);
switch($rotation) {
case 90: if(!@imagesetpixel($newimg, ($height - 1) - $j, $i, $reference )){return
false;}break;
case 180: if(!@imagesetpixel($newimg, $width - $i, ($height - 1) - $j, $reference )){return
false;}break;
case 270: if(!@imagesetpixel($newimg, $j, $width - $i - 1, $reference )){return false;}break;
}
}
}
return $newimg;
}
return false;
}