note 109026 added to function.imagecopyresampled

From: Date: Thu, 14 Jun 2012 02:37:36 +0000
Subject: note 109026 added to function.imagecopyresampled
Groups: php.notes 
Request: Send a blank email to php-notes+get-188593@lists.php.net to get a copy of this message
/*------------ Страница №2 ------------*/ //Добавлена возможность обрезания Примечание: изменено для типов файла PNG качество изображение в =0 //@link http://php.net/manual/ru/function.imagecopyresized.php function Resize($Dir, $NewDir, $NewWidth = 100, $NewHeight = 100, $Quality = 95, $cut = false) { list($OrigiWidth, $OrigiHeight, $TypeCode) = getimagesize($Dir); $ImageType = ($TypeCode == 1 ? "gif" : ($TypeCode == 2 ? "jpeg" : ($TypeCode == 3 ? "png" : FALSE))); $CreateFunction = "imagecreatefrom".$ImageType; $OutputFunction = "image".$ImageType; if ($ImageType) { $OrigiImage = $CreateFunction($Dir); if ($cut) { $cutSize = SizeCut($OrigiWidth, $OrigiHeight, $NewWidth, $NewHeight); $NewImage = imagecreatetruecolor($cutSize['width'], $cutSize['height']); imagecopy($NewImage, $OrigiImage, 0, 0, 0, 0, $cutSize['width'], $cutSize['height']); $OrigiImage = $NewImage; $OrigiWidth = $cutSize['width']; $OrigiHeight = $cutSize['height']; unset($cutSize); } //пропорциональное сжатие на основании коэффициента $Ratio $Ratio = ($OrigiHeight / $OrigiWidth); if ($OrigiWidth > $NewWidth OR $OrigiHeight > $NewHeight) { if ($OrigiWidth > $NewWidth) { $ResizedWidth = $NewWidth; $ResizedHeight = $ResizedWidth * $Ratio; } else { $ResizedWidth = $OrigiWidth; $ResizedHeight = $OrigiHeight; } if ($ResizedHeight > $NewHeight) { $ResizedHeight = $NewHeight; $ResizedWidth = $ResizedHeight / $Ratio; } $NewImage = imagecreatetruecolor($ResizedWidth, $ResizedHeight); imagecopyresampled($NewImage, $OrigiImage, 0, 0, 0, 0, $ResizedWidth, $ResizedHeight, $OrigiWidth, $OrigiHeight); } else { $ResizedWidth = $OrigiWidth; $ResizedHeight = $OrigiHeight; $NewImage = $OrigiImage; } if ($ImageType == 'png') $Quality = 0; $OutputFunction($NewImage, $NewDir, $Quality); return true; } else return false; } function getImage($path, $width, $height, $return_type = "src", $alt = "", $title = "") {... if (!file_exists($img_new)) Resize($img, $img_new, $width, $height, '95'); else { $nsize = @getimagesize($img_new); if ($nsize[0] != $width OR $nsize[1] != $height) Resize($img, $img_new, $width, $height, '95', true); unset($nsize); }... } //вызов $a = getImage($in_params['path'], $in_params['width'], $in_params['height'], $in_params['return_type'], $in_params['alt'], $in_params['title']); ---- Server IP: 69.147.83.197 Probable Submitter: 46.50.132.253 ---- Manual Page -- http://www.php.net/manual/en/function.imagecopyresampled.php Edit -- https://master.php.net/note/edit/109026 Del: integrated -- https://master.php.net/note/delete/109026/integrated Del: useless -- https://master.php.net/note/delete/109026/useless Del: bad code -- https://master.php.net/note/delete/109026/bad+code Del: spam -- https://master.php.net/note/delete/109026/spam Del: non-english -- https://master.php.net/note/delete/109026/non-english Del: in docs -- https://master.php.net/note/delete/109026/in+docs Del: other reasons-- https://master.php.net/note/delete/109026 Reject -- https://master.php.net/note/reject/109026 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#188593) next »