[Ищу]функция обрезания изображения

Статус
В этой теме нельзя размещать новые ответы.

Acidrayne

Местный житель
Регистрация
30 Сен 2007
Сообщения
296
Реакции
20
Подскажите как реализовать, нужна функция которая при загрузке изображения обрезала или закрашивала определенную полосу снизу по всей ширине!
 
Не очень понятно, какую полоску Вам нужно обрезать/закрасить, пиксель? n-пикселей?
 
Не очень понятно, какую полоску Вам нужно обрезать/закрасить, пиксель? n-пикселей?


Есть изображение:

Код:
|----------|
|          |
|          |
|  img     |
|          |
|----------|
|это резать| 
|----------|
 
функции gd библиотеки, например imagefilledrectangle
 
Использование класса не уместно, скажите в стандартном арсенале нету ничего подобного чтоб резало изображения?
 
Использование класса не уместно, скажите в стандартном арсенале нету ничего подобного чтоб резало изображения?

Вот рабочий пример функции по обрезке картинок
PHP:
<?
function resize($src,$dest,$folder,$isize=false){
#
var $info=null;
var $format=null;
var $isfunc=null;
var $rgb=0xFFFFFF;
var $quality=85;
var $width=100;
var $height=100;
#
if(!file_exists($src))return false;
#
$info=getimagesize($src);
if(!$info)return false;
#
preg_match("#([a-z]+)$#i",$info['mime'],$null);
$format=$null[0];
$isfunc="imagecreatefrom{$format}";
if(!function_exists($isfunc))return false;
#
if($isize){$width=$info[0];$height=$info[1];}
#
$x_ratio=$width/$info[0];
$y_ratio=$height/$info[1];
$ratio=min($x_ratio,$y_ratio);
$use_x_ratio=($x_ratio==$ratio);
#
$new_width=$use_x_ratio?$width:floor($info[0]*$ratio);
$new_height=!$use_x_ratio?$height:floor($info[1]*$ratio);
$new_left=$use_x_ratio?0:floor(($width-$new_width)/2);
$new_top=!$use_x_ratio?0:floor(($height-$new_height)/2);
#
$isrc=$isfunc($src);
$idest=imagecreatetruecolor($width,$height);
imagefill($idest,0,0,$rgb);
imagecopyresampled($idest,$isrc,$new_left,$new_top,0,0,$new_width,$new_height,$info[0],$info[1]);
@mkdir($folder,0777,true);
imagejpeg($idest,$folder.$dest.".jpg",$quality);
imagedestroy($isrc);
imagedestroy($idest);
#
return true;
}
?>
 
Скажите она обрезает или все же делает ресайз ? И подходит ли она для других форматов кроме jpg ?
 
Я использовал convert



быстро, просто и удобно. и никакой нагрузки на связку апач+пхп
что то типа

PHP:
exec("convert -crop 300x300+600+600 input.jpg out9.jpg");


ставится просто
Код:
*buntu
sudo apt-get install ImageMagick

centos
yum install ImageMagick

gentoo
emerge ImageMagick
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху