Наша сверхсекретная лабаратория написала функцию обрезки изображений на PHP (не путать с масштабированием), например на фотке снизу какая то белая полоска или рамка, а вам нужно отрезать от картинки эту рамку.
crop("./image1.jpg","image2.jpg",left,top,right,bottom)
image1 - входное изображение
image2 - выходное изображение
left - обрезка левого края
top - обрезка верхнего края
right - .....
bottom - .....
function crop ($inp,$out,$l=0,$t=0,$r,$b)
{
list($w, $h, $type) = getimagesize($inp);
switch ($type)
{
case 1: $source = imagecreatefromgif($inp); break;
case 2: $source = imagecreatefromjpeg($inp); break;
case 3: $source = imagecreatefrompng($inp); break;
}
$n_w=$w-$l-$r; $n_h=$h-$t-$b;
res = imagecreatetruecolor($n_w,$n_h);
imagealphablending($res,false);
imagecopy ($res,$source,0,0,$l,$t,$n_w,$n_h);
imageSaveAlpha($res, true);
switch ($type)
{
case 1: $source = imagegif($res,$out); break;
case 2: $source = imagejpeg($res,$out); break;
case 3: $source = imagepng($res,$out); break;
}
imageDestroy($res);
}
Лицензионное соглашение: напишите "спасибо" в комментариях и пользуйтесь на здоровье.
crop("./image1.jpg","image2.jpg",left,top,right,bottom)
image1 - входное изображение
image2 - выходное изображение
left - обрезка левого края
top - обрезка верхнего края
right - .....
bottom - .....
function crop ($inp,$out,$l=0,$t=0,$r,$b)
{
list($w, $h, $type) = getimagesize($inp);
switch ($type)
{
case 1: $source = imagecreatefromgif($inp); break;
case 2: $source = imagecreatefromjpeg($inp); break;
case 3: $source = imagecreatefrompng($inp); break;
}
$n_w=$w-$l-$r; $n_h=$h-$t-$b;
res = imagecreatetruecolor($n_w,$n_h);
imagealphablending($res,false);
imagecopy ($res,$source,0,0,$l,$t,$n_w,$n_h);
imageSaveAlpha($res, true);
switch ($type)
{
case 1: $source = imagegif($res,$out); break;
case 2: $source = imagejpeg($res,$out); break;
case 3: $source = imagepng($res,$out); break;
}
imageDestroy($res);
}
Лицензионное соглашение: напишите "спасибо" в комментариях и пользуйтесь на здоровье.
СПС
ОтветитьУдалить