note 71182 added to function.imagecopyresized

From: Date: Wed, 15 Nov 2006 12:23:18 +0000
Subject: note 71182 added to function.imagecopyresized
Groups: php.notes 
Request: Send a blank email to php-notes+get-119748@lists.php.net to get a copy of this message
This code convert images to thumbs. How he work - Check source image - Width and Height, crop a maximum from original image, resize croped to user defined size // makeIcons_MergeCenter($src, $dst, $dstx, $dsty); <?php function makeIcons_MergeCenter($src, $dst, $dstx, $dsty){ //$src = original image location //$dst = destination image location //$dstx = user defined width of image //$dsty = user defined height of image $allowedExtensions = 'jpg jpeg gif png'; $name = explode(".", $src); $currentExtensions = $name[count($name)-1]; $extensions = explode(" ", $allowedExtensions); for($i=0; count($extensions)>$i; $i=$i+1){ if($extensions[$i]==$currentExtensions) { $extensionOK=1; $fileExtension=$extensions[$i]; break; } } if($extensionOK){ $size = getImageSize($src); $width = $size[0]; $height = $size[1]; if($width >= $dstx AND $height >= $dsty){ $proportion_X = $width / $dstx; $proportion_Y = $height / $dsty; if($proportion_X > $proportion_Y ){ $proportion = $proportion_Y; }else{ $proportion = $proportion_X ; } $target['width'] = $dstx * $proportion; $target['height'] = $dsty * $proportion; $original['diagonal_center'] = round(sqrt(($width*$width)+($height*$height))/2); $target['diagonal_center'] = round(sqrt(($target['width']*$target['width'])+ ($target['height']*$target['height']))/2); $crop = round($original['diagonal_center'] - $target['diagonal_center']); if($proportion_X < $proportion_Y ){ $target['x'] = 0; $target['y'] = round((($height/2)*$crop)/$target['diagonal_center']); }else{ $target['x'] = round((($width/2)*$crop)/$target['diagonal_center']); $target['y'] = 0; } if($fileExtension == "jpg" OR $fileExtension=='jpeg'){ $from = ImageCreateFromJpeg($src); }elseif ($fileExtension == "gif"){ $from = ImageCreateFromGIF($src); }elseif ($fileExtension == 'png'){ $from = imageCreateFromPNG($src); } $new = ImageCreateTrueColor ($dstx,$dsty); imagecopyresampled ($new, $from, 0, 0, $target['x'], $target['y'], $dstx, $dsty, $target['width'], $target['height']); if($fileExtension == "jpg" OR $fileExtension == 'jpeg'){ imagejpeg($new, $dst, 70); }elseif ($fileExtension == "gif"){ imagegif($new, $dst); }elseif ($fileExtension == 'png'){ imagepng($new, $dst); } } } } ?> ---- Server IP: 195.149.248.161 Probable Submitter: 87.126.164.62 ---- Manual Page -- http://www.php.net/manual/en/function.imagecopyresized.php Edit -- https://master.php.net/note/edit/71182 Del: integrated -- https://master.php.net/note/delete/71182/integrated Del: useless -- https://master.php.net/note/delete/71182/useless Del: bad code -- https://master.php.net/note/delete/71182/bad+code Del: spam -- https://master.php.net/note/delete/71182/spam Del: non-english -- https://master.php.net/note/delete/71182/non-english Del: in docs -- https://master.php.net/note/delete/71182/in+docs Del: other reasons-- https://master.php.net/note/delete/71182 Reject -- https://master.php.net/note/reject/71182 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#119748) next »