note 98413 added to function.imagecopyresized
| From: | StefanoAI at osu1 dot php dot net | Date: | Mon, 14 Jun 2010 16:28:37 +0000 |
| Subject: | note 98413 added to function.imagecopyresized | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-170117@lists.php.net to get a copy of this message | ||
To preserve the ALPHA channel in images
<?
function thumb($image, $sizethumb, $filename) {
switch($image['type']) {
case "image/jpeg":
case "image/jpg":
case "image/JPG":
case "image/pjepg":
$img = imagecreatefromjpeg($image['tmp_name']);
break;
case 'image/gif':
case 'image/GIF':
$img = imagecreatefromgif($image['tmp_name']);
break;
case 'image/bmp':
case 'image/BMP':
case 'image/x-ms-bmp':
$img = imagecreatefromwbmp($image['tmp_name']);
break;
case 'image/PNG':
case 'image/png':
$img = imagecreatefrompng($image['tmp_name']);
break;
default:
return false;
}
$src_w=imagesx($img);
$src_h=imagesy($img);
$ratio=$src_w/$src_h;
if($ratio>1) {
$dst_w=$sizethumb;
$dst_h=$sizethumb/$ratio;
}else {
$dst_h=$sizethumb;
$dst_w=$sizethumb*$ratio;
}
$dst_image = imagecreatetruecolor($dst_w, $dst_h);
imagealphablending($dst_image, false);
imagesavealpha($dst_image, true);
if(imagecopyresampled($dst_image, $img, 0, 0, 0, 0, $dst_w, $dst_h, $src_w, $src_h)==false)
return false;
imagedestroy($img);
switch($image['type']) {
case "image/jpeg":
case "image/jpg":
case "image/JPG":
case "image/pjepg":
if(imagejpeg($dst_image, $filename)==false)
return false;
break;
case 'image/gif':
case 'image/GIF':
if(imagegif($dst_image, $filename)==false)
return false;
break;
case 'image/bmp':
case 'image/BMP':
case 'image/x-ms-bmp':
if(imagewbmp($dst_image, $filename)==false)
return false;
break;
case 'image/PNG':
case 'image/png':
if(imagepng($dst_image, $filename)==false)
return false;
break;
}
imagedestroy($dst_image);
return true;
}
?>
http://www.stefanoai.com
----
Server IP: 81.88.49.20
Probable Submitter: 87.3.255.202
----
Manual Page -- http://www.php.net/manual/en/function.imagecopyresized.php
Edit -- https://master.php.net/note/edit/98413
Del: integrated -- https://master.php.net/note/delete/98413/integrated
Del: useless -- https://master.php.net/note/delete/98413/useless
Del: bad code -- https://master.php.net/note/delete/98413/bad+code
Del: spam -- https://master.php.net/note/delete/98413/spam
Del: non-english -- https://master.php.net/note/delete/98413/non-english
Del: in docs -- https://master.php.net/note/delete/98413/in+docs
Del: other reasons-- https://master.php.net/note/delete/98413
Reject -- https://master.php.net/note/reject/98413
Search -- https://master.php.net/manage/user-notes.php