[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как сделать автоматическую генерацию превью
Strannik
Добрый день.
Для автоматической генерации превью использую скрипт Thumbnails

Мне нужно вывести изображение 160*184, по высоте скрипт делает масштабирование нормально, но получается другая длина(т.е. если изображение 240*190, то получаем где то 230*184).

Подскажите как обрезать ненужную длину с позиционирование изображения по центру(иными словами как равномерно обрезать края)?
vagrand
А при чем тут PHP, это простая математика.

_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
medvedeva
Strannik, смотрите в направлении управления библиотекой, которой обрабатываете изображение (GD, IM), и допишите необходимые для обрезания условия в свой скрипт.
Strannik
народ я в курсе куда смотреть, вариантов то тут немного. вопрос только как сделать?
hydrogen
То есть вам нужно привести изображение произвольных размеров к заданной пропорции сторон? При этом определяющей стороной является высота? Так?

Имеем два изображения. Первое - стандартное, с шириной x, высотой y и соотношением сторон z. Второе нужно привести к стандартным пропорциям: ширина a, высота b, соотношение c.

Для каждого изображения эти параметры связаны следующим образом:

x/y = z, a/b = c

Отсюда:

a = bc

Приведение к одному соотношению сторон означает, что должно выполняться условие z == c, то есть:

a = bz


a - ширина, которую должно иметь исходное изображение, чтобы соответствовать заданной пропорции. Остальное - дело техники. Тем же IM кромсаем картинку как надо.

Strannik, а если вам исходное изображение изменять не надо, то можно уже после изменения размеров картинку тупо обрезать до заданной ширины (160px).

_____________
Strannik
смысл в том, что нужно загружаемое изображение привести к размерам 180*160.
Если пропорции соблюдены не будут, то обрезать уменьшенное до высоты 160 изображение по краям до центральной части, чтобы получилось изображение 180*160
Игорь_Vasinsky
if + else

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
hydrogen
Strannik, ну и в чем проблема? Убираем по половине разницы ширин с каждой стороны.

_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.