Jump to content
Sign in to follow this  
Diman88

Обрезать картинки с одной стороны WP

Recommended Posts

Движок WP, папка с картинками залитая весит очень много и пополняется регулярно.

 

Нужно реализовать обрезку этих картинок снизу. Картинка размерами 1000*800 нужно чтобы снизу 150px обрезалось автоматом в этой картинке. Реально ли такое сделать?

Share this post


Link to post
Share on other sites

может иногда стоит курить форум ??  вбиваете "сжать картинки" и вуаля... 5 ответов...

 

 

Может иногда надо знать русский язык? Слово сжать и обрезать это не синонимы. Умничать не надо, обрезать искал, ничего не нашлось.. а если вы ищете апельсин как овощ, ваше право.

 

плагинов куча по пакетному сжатию обрезанию картинок)))

 

Плагинов куча, я спросил про решения по конкретному действию.

 

В целом вообще зачем тупить такими ответами не понимаю.

Share this post


Link to post
Share on other sites

Если вы хотите реализовать обрезку по высоте непосредственно на сайте, то нужно просто задать в стилях им нужную высоту... В вашем случае это будет max-height: 650px; , но уменьшить вес уже залитых картинок это не поможет... А так, чтобы уменьшились и пропорции и вес картинок, то это, к сожалению, только каждую ручками в фотошопе и перезаливать... Сама постоянно мучаюсь с обработкой огромных количеств изображений, но иных вариантов нет, как и чудес...  

Share this post


Link to post
Share on other sites

Нужно немного знать PHP, поумничаю, 20 строк кода решат вашу проблему.

 

Знал бы прикуп, жыл бы в Сочи.

 

Чтобы понимать, знал бы я эти 20 строк php обратился ли я на форум?)))

Нашел код, но не могу понять как он работает:

<?php
  /*
  $x_o и $y_o - координаты левого верхнего угла выходного изображения на исходном
  $w_o и h_o - ширина и высота выходного изображения
  */
  function crop($image, $x_o, $y_o, $w_o, $h_o) {
    if (($x_o < 0) || ($y_o < 0) || ($w_o < 0) || ($h_o < 0)) {
      echo "Некорректные входные параметры";
      return false;
    }
    list($w_i, $h_i, $type) = getimagesize($image); // Получаем размеры и тип изображения (число)
    $types = array("", "gif", "jpeg", "png"); // Массив с типами изображений
    $ext = $types[$type]; // Зная "числовой" тип изображения, узнаём название типа
    if ($ext) {
      $func = 'imagecreatefrom'.$ext; // Получаем название функции, соответствующую типу, для создания изображения
      $img_i = $func($image); // Создаём дескриптор для работы с исходным изображением
    } else {
      echo 'Некорректное изображение'; // Выводим ошибку, если формат изображения недопустимый
      return false;
    }
    if ($x_o + $w_o > $w_i) $w_o = $w_i - $x_o; // Если ширина выходного изображения больше исходного (с учётом x_o), то уменьшаем её
    if ($y_o + $h_o > $h_i) $h_o = $h_i - $y_o; // Если высота выходного изображения больше исходного (с учётом y_o), то уменьшаем её
    $img_o = imagecreatetruecolor($w_o, $h_o); // Создаём дескриптор для выходного изображения
    imagecopy($img_o, $img_i, 0, 0, $x_o, $y_o, $w_o, $h_o); // Переносим часть изображения из исходного в выходное
    $func = 'image'.$ext; // Получаем функция для сохранения результата
    return $func($img_o, $image); // Сохраняем изображение в тот же файл, что и исходное, возвращая результат этой операции
  }
  crop("image.jpg", 100, 100, 200, 50); // Вызываем функцию
?>

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...