Перейти к содержимому



Ресайз изображений.

#11 diclofoss

diclofoss
  • Пользователь
  • 4 сообщений
  • Репутация: 0
0

Отправлено 23 Июнь 2010 - 18:50

А вот моя функция для урезания по меньшей стороне
		function imageresize_i($infile,$new)
{
$im=imagecreatefromjpeg($infile);
$width = imagesx($im);
$height = imagesy($im);

if ($width < $height)
{
$neww = $new;
$coef = $neww/$width;
$newh = $coef*$height;
}

if ($width >= $height)
{
$newh = $new;
$coef = $newh/$height;
$neww = $coef*$width;
}

if ($neww < $width && $newh < $height)
{
$im1=imagecreatetruecolor($neww,$newh);
imagecopyresampled($im1,$im,0,0,0,0,$neww,$newh,imagesx($im),imagesy($im));
imagejpeg($im1,$infile,100);
imagedestroy($im);
imagedestroy($im1);
}
else
{
imagejpeg($im,$infile,100);
imagedestroy($im);
}
}



А после обрезания красивой превьюшки

		function imagecut($infile,$neww,$newh)
{
$im=imagecreatefromjpeg($infile);
$im1=imagecreatetruecolor($neww,$newh);
$x = (imagesx($im)-$neww)/2;
$y = (imagesy($im)-$newh)/2;
imagecopyresampled($im1,$im,0,0,$x,$y,$neww,$newh,$neww,$newh);

imagejpeg($im1,$infile,100);
imagedestroy($im);
imagedestroy($im1);
}



а после накладывания сверху маску например чтобы изображение было не квадратным а круглым накладываю полупрозрачную маску PNG

		function imagemask($file_path, $png_file)
{
$file=imagecreatefromjpeg($file_path);
$ru=imagecreatefrompng("$png_file");

imagecopyresampled($file,$ru,0,0,0,0,imagesx($ru),imagesy($ru),imagesx($ru),imagesy($ru));
imagejpeg($file,$file_path,100);
imagedestroy($file);
imagedestroy($ru);
}

  • 0

#12 rubiroide

rubiroide
  • Пользователь
  • 22 сообщений
  • Репутация: 0

Отправлено 09 Сентябрь 2010 - 08:01

Спасибо, как раз то что искал, пригодилось.


  • 0


Оформление форума – IPBSkins.ru