|
0 Всего найдено: 10
SmivaL
Сообщение
12/07/2010 14:34
Копия темы
PHP авторесайз/кроп нужно пробежать по папке на серваке и все JPG изображения порезать под тумбы, например 100х100, ну и соответственно без полос, то есть кроп по центру спасибо)
immeasurability
Сообщение
14/07/2010 06:54
Копия темы
не знаю на сколько устаревшая эта функция (писал давно) но вызывается командой system_image_resize(путь к файлу оригинала,куда сохранить,изменить ширину на,сделать ли квадрат); пример сделать мини картинку квадратом 100х100: system_image_resize('images/1.jpg','images/thumb /1.jpg',100,1); сделать картинку шириной 100 высота относительно пропорции: system_image_resize('images/1.jpg','images/thumb /1.jpg',100); код функции: function system_image_resize($imgfile,$imgthumb,$newwi dth,$square=null){ if(function_exists('imagecreate')){ $imginfo = getimagesize($imgfile); switch($imginfo[2]){ case 1: $type = IMG_GIF; if(!function_exists("imagecreatefromgif")) return $imgfile; $srcImage = imagecreatefromgif("$imgfile"); break; case 2: $type = IMG_JPG; if(!function_exists("imagecreatefromjpeg")) return $imgfile; $srcImage = imagecreatefromjpeg($imgfile); break; case 3: $type = IMG_PNG; if(!function_exists("imagecreatefrompng")) return $imgfile; $srcImage = imagecreatefrompng("$imgfile"); break; case 4: $type = IMG_WBMP; if(!function_exists("imagecreatefromwbmp")) return $imgfile; $srcImage = imagecreatefromwbmp("$imgfile"); break; default: return $imgfile; break; } if($srcImage){ $srcWidth = $imginfo[0]; $srcHeight = $imginfo[1]; if($square){ $destWidth = $newwidth; $destHeight = $newwidth; if($srcWidth >= $srcHeight){ $destImage = imagecreatetruecolor($destWidth,$destHeight); imagealphablending($destImage, true); imagealphablending($srcImage, false); imagecopyresized($destImage,$srcImage, 0, 0, (($srcWidth $srcHeight) / 2), 0,$destWidth,$destHeight,$srcHeight,$srcHeigh t); }elseif($srcWidth < $srcHeight){ $destImage = imagecreatetruecolor($destWidth,$destHeight); imagealphablending($destImage, true); imagealphablending($srcImage, false); imagecopyresized($destImage,$srcImage, 0, 0, 0, (($srcHeight $srcWidth) / 2),$destWidth,$destHeight,$srcWidth,$srcWidth ); } }else{ $ratioWidth = $srcWidth/$newwidth; $destWidth = $newwidth; $destHeight = $srcHeight/$ratioWidth; if($imginfo[0] > $newwidth){ $destImage = imagecreatetruecolor($destWidth,$destHeight); imagealphablending($destImage, true); imagealphablending($srcImage, false); imagecopyresized($destImage,$srcImage, 0, 0, 0, 0,$destWidth,$destHeight,$srcWidth,$srcHeight ); }else{ $destImage = imagecreatetruecolor($srcWidth,$srcHeight); imagealphablending($destImage, true); imagealphablending($srcImage, false); imagecopyresized($destImage,$srcImage, 0, 0, 0, 0,$srcWidth,$srcHeight,$srcWidth,$srcHeight); } } switch($type){ case IMG_GIF: imagegif($destImage,$imgthumb); break; case IMG_JPG: imagejpeg($destImage,$imgthumb); break; case IMG_PNG: imagepng($destImage,$imgthumb); break; case IMG_WBMP: imagewbmp($destImage,$imgthumb); break; } imagedestroy($srcImage); imagedestroy($destImage); return $imgthumb; }else return $imgfile; }else return $imgfile; }
immeasurability
Сообщение
14/07/2010 07:52
Копия темы
файл upimage.php 1 залить в любую директория сайта 2 изменить в файле (upimage.php) параметры{ $opendir директория изображений $resizedir директория для измененных изображений $access_type_array разрешенные типы файлов $square будет ли изображение квадратное $newwidth ширина нового изображения } 3 запустить файл по пути в который он был сохранен пример(www.сайт/upimage.php) 4 по окончанию выполнения появится надпись Ok {кол.измененных изображений} Скрипт проверен! работает 100%
SmivaL
Сообщение
14/07/2010 13:46
Копия темы
вроде работает а можно как то сглаживание включить? а то топорщица сильно картинка, если там есть лицо то вообще мрак
immeasurability
Сообщение
15/07/2010 06:01
Копия темы
тот же принцип только через [imagecopyresampled] без потери качества изображения upimage.php в раре прикреплено в сообщении...
SmivaL
Сообщение
15/07/2010 06:04
Копия темы
класс! а каково ограничение по кол-ву фото? у меня пару десятков фото пробегает и спотыкается)
immeasurability
Сообщение
15/07/2010 07:58
Копия темы
Все ограничивается настройками сервера там тайм аут на выполнения скрипта примерно около 30 50 секунд если скрипт не успел выполнится за этот промежуток происходит спотыкание :) для этого нужно выполнять его пачками то есть прогонять по 20 30 фоток за команду... либо делать через JS времени сделать через JS портер у меня пока нет...
SmivaL
Сообщение
15/07/2010 11:53
Копия темы
0
да не это уже лишнее, понял в чем причина главное, еще раз благодарю |
Выразить восторг, поругаться или предложить что-нибудь можно на форуме |
Для обсуждения этого сервиса так же есть темы на фрилансе по поиску , флудотопу ,и по удалённым сообщениям ,и по Актуальным/популярным темам , и по топу "кто кому больше наотвечал" |