- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Всем добрый день!
Делаем сайт..
Программист говорит что при размещении изображения ( к примеру 850х370) которое будет отображаться в самой статье, невозможно сделать "нарезку" других размеров изображений ( к примеру.. для превью на главной, или вывода где-нибудь еще на сайте и тд и тп
Именно нарезку а не масштабирование))
Конкретно:
Есть статья ( в статье изображение 850х370)
Задача: из этого изображение ( на автомате) чтобы получались следующие изображения ( без искажения))
245х137
102х76
и тд. еще несколько размеров
нашел тут вот такое, подходит ли для моего случая или нет:
<?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); // Вызываем функцию
?>
---------------------------------------------------------------------------
В любом случае буду очень благодарен за помощь или консультацию для моего программера ( консультацию готов оплатить) либо готов оплатить разумную сумму за практическое решение данного вопроса))) - программирование
Именно нарезку а не масштабирование))
Сломал мозг :(
Где резать будем?
Сломал мозг :(
Где резать будем?
Таки будем? Сие возможно?
Ваша цена за решение проблемы?
Покажите на примере любой картинки что вам нужно - тогда будет о чем поговорить.
Если вам надо вырезать кусок изображения более мелкого размера - то по какому принципу скрипт его должен выбирать?
Судя по размерам, искажения в любом случае будут, края будут обрезать на более мелких размерах. Задавайте кратные размеры и всё будет просто реализуемо.
Покажите на примере любой картинки что вам нужно - тогда будет о чем поговорить.
Если вам надо вырезать кусок изображения более мелкого размера - то по какому принципу скрипт его должен выбирать?
Я не программист, но если рассуждать логично есть загружаемое изображение на сервак ( 850х370)
скрипт режет его по принципу сохранения центральной части на следующие размеры
- 235х147
- 102х 76
и тд.. не суть))
Пользователь открывает главную сайта - ему в качестве превью показывается
название статьи +анонс+ превью изображения 235х147
пользователь нажал на заголовок статьи и попал на саму статью с текстом и изображением 850х370 и тд..
тут чего сложного то???? я не поверю что не может быть такого функционала и невозможно такое сделать)))))))))
какая проблема задать скрипту значение, что при открывании главной - тянутся все картинки в такие то и такие то места, такого то и такого то размера
Я еще раз хочу заметить, что я не программер, но чисто логично и умозрительно понимаю что такое можно реализовать)))
---------- Добавлено 19.12.2017 в 04:07 ----------
Задавайте кратные размеры и всё будет просто реализуемо.
Мне не нужно кратные!!
На первом скрине, требуемые размеры изображений ( макет так и делался))
На втором скрине - что получилось при программинге))) ( исходное изображение, оригинал 850х370 )
ПС смотрите не на картинки, а на размеры))))
По всей видимости, вам нужно это http://www.imagemagick.org/Usage/crop/ выполняйте convert с нужными параметрами.
Мне не нужно кратные!!
Ну а как вы уменьшите ширину на 2 а высоту на 2.5 без искажения и обрезания картинки?)
Можете сохранить к примеру высоту а ширину уже автоматом вычислять будете, или наоборот от ширины идти, но что бы всё сразу да и без искажений, такое действительно не возможно и дело тут не в кодинге.
Вордпресс обычный уже лет 10 как при заливке фото кропает и масштабирует по необходимости для првеьюшек и использования в шаблоне. В настройках есть галочка "сохранять пропорции". Убираешь - получаешь кроп.
Именно при помощи имиджмэджик, на сколько я помню.
Русаков - зло.
Код у него очень своеобразный, хоть и работает.
Под вашу задачу должен подойти этот класс:
https://true-coder.ru/php/toolkit-dlya-resajza-i-kropa-izobrazhenij-na-php.html
Класс работает, только что проверил.
Ресайзите изображение по бОльшему параметру, потом вырезаете в нужной пропорции.
Навскидку, что-то вроде этого: