Создание миниатюр, превьюшек к картинкам

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

KillerMEN

Новичок
Создание миниатюр, превьюшек к картинкам

Собственно нужно создать превьюшки к картинкам, вся проблема в том что они должны быть строго 100 на 80. без всяких черных полос.

В принцепи можно растянуть превьюшку, но как это сделать ?

P.S. В поиске был.. все нужные темы закрыты с ссылкой на то что такие темы уже есть.. нео их имхо нет.

Это читал(не подходит): http://www.codenet.ru/webmast/php/Image-Resize-GD/
 

KillerMEN

Новичок
Автор оригинала: Андрейка
че за черные полосы?
Ну вот к примеру этот код сделает превьюшку так как нужно.. но если нарушены пропорции будут черные полосы.. к примеру если картинка 800 на 500 то с верху и снизу будут черные полосы.


PHP:
function img_resize($src, $dest, $width, $height, $rgb=0x000000, $quality=100)
{
  if (!file_exists($src))
  {
  	return false;
  }

  $size = getimagesize($src);

  if ($size === false)
  { 	
  	return false;
  }

  $format = strtolower(substr($size['mime'], strpos($size['mime'], '/')+1));
  $icfunc = "imagecreatefrom" . $format;
  if (!function_exists($icfunc))
  {
  	return false;
  }

  $x_ratio = $width / $size[0];
  $y_ratio = $height / $size[1];

  $ratio       = min($x_ratio, $y_ratio);
  $use_x_ratio = ($x_ratio == $ratio);

  $new_width   = $use_x_ratio  ? $width  : floor($size[0] * $ratio);
  $new_height  = !$use_x_ratio ? $height : floor($size[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 = $icfunc($src);
  $idest = imagecreatetruecolor($width, $height);
  
  imagefill($idest, 0, 0, $rgb);
  imagecopyresampled($idest, $isrc, $new_left, $new_top, 0, 0, $new_width, $new_height, $size[0], $size[1]);

  imagejpeg($idest, $dest, $quality);
  
  imagedestroy($isrc);
  imagedestroy($idest);

}
 

Фанат

oncle terrible
Команда форума
тема закрыта.
никакой поиск здесь не нужен
если понимать, как работает, что делает приведенный здесь код, то сделать растягивание - это 2 секунды.
особенноу читывая, что сделать пропорциональное уменьшение гораздо сложнее, чем просто сделать картинку фиксированного размера.

ну просто стыдно должно быть такие вопросы задавать.
Это надо совсем мозги выключить и на помойку выбросить
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху