Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.87 KB | None | 0 0
  1. <?php
  2.  
  3. // Функция для обрезки изображения в квадрат указанной ширины
  4. /*
  5. $source_img - исходное изображение
  6. $w - необходимая ширина обрезанного изображения
  7. $crop_img - путь и имя файла обрезанного изображения
  8. */
  9. function image_crop_thumbnail($source_img, $w, $crop_img)
  10. {
  11. $size_img_arr = getimagesize($source_img); // массив размеров исходного изображения
  12. // получаем ширину и высоту исходного изображения
  13. $iw = $size_img_arr[0];
  14. $ih = $size_img_arr[1];
  15.  
  16. $h = $w; // необходимые высота и ширина обрезанного изображения
  17.  
  18. $rw = $w / $iw; // вычисляем соотношение обрезаемой и исходной ширины
  19. $rh = $h / $ih; // вычисляем соотношение обрезаемой и исходной высоты
  20.  
  21. $r = max($rw, $rh); // выбираем максимальное соотношение сторон
  22.  
  23. $ih = $h / $r; // масштабируем исходную высоту
  24. $ix = ($iw - $w / $r) / 2; // определяем координату Х центра исходного изображения
  25. $iw = $w / $r; // масштабируем исходную ширину
  26.  
  27. $tc = imagecreatetruecolor($w, $h); // создаем блок обрезанного изображения
  28. $src = imagecreatefromjpeg($source_img); // создаем ресурс из исходного изображения
  29. imagecopyresampled($tc, $src, 0, 0, $ix, 0, $w, $h, $iw, $ih); // масштабируем и обрезаем изображение
  30. imagejpeg($tc, $crop_img, 100); // сохраняем полученное изображение
  31.  
  32. return $crop_img;
  33. }
  34.  
  35. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement