Как изменять размер изображения прямо из адресной строки

В наше блоггерское время без редактора изображений для выкладывания картинок в сеть вообще не обойтись – даже те, кто утверждает, что картинка “совсем без Фотошопа” (наверное, преимущество такое, я не совсем понимаю такое заявление) обязательно изменяют пиксельные размеры фотографии, чтобы ее можно было показывать в интернете, а многие еще и четкость повышают – это стало нормой.

Однако даже этого мало: порой надо сделать еще и изображение для предпросмотра картинки, соответственно, изменять потребуется еще раз, а то и попутно кадрировать, чтобы изображение предпросмотра соответствовало стандартам сайта. Конечно, при наличии PHP-надстроек вроде GD или ImageMagick многие скрипты блогов могут изменять размер изображения и сами, отдавая пользователю требуемый результат, однако процесс контролируется только человеком, владеющим сайтом, вручную, а подчас можно лишь получить картинку предпросмотра фиксированного размера.

Изменение размера изображения на основе кода PHP

А ведь при написании новостей на сайтах, где часто используются изображения, дорога каждая секунда (у меня так, думаю, и у остальных тоже, причем по совершенно разным причинам), и тратить ее на ресайз фотографии часто очень жалко. Впрочем, умные люди существуют, и вот один из них, Джо Ленчиони, придумал довольно несложный скрипт PHP под названием Smart image resizer (хитрый ресайзер), который выдает пользователю изображение только на основе параметров height и width, которые можно вставлять в качестве аргументов прямо в код тега img, выводящего картинку – правда, не обычным способом, а через знак вопроса, при этом тег принимает следующий вид:

<img src="/image.php/coffee-bean.jpg?width=150&height=150&cropratio=1:1ℑ=/wp-content/uploads/2008/03/coffee-bean.jpg" alt="Coffee Bean" />

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

Какова польза решения? Взяли, изначально загрузили большое изображение (для защиты авторских прав, наверное, не стоит грузить оригинал), потом для ваших целей автоматизируете процесс: к примеру, на главной странице можете выводить его миниатюру 150х150, сделав предпросмотр определенного количества статей, а в тексте записи уже изображение, подходящее под ширину полосы, причем, применить это только к страницам или к новостям, вам решать.

Можно применять и на фотоблоге – ведь по коду javascript можно узнать разрешение экрана получателя картинки – таким образом можно подгонять не только форматирование текста, но и размер самой фотографии, чтобы не вылезала за пределы мониторов).

Оригинально? Безусловно. Самое приятное – то, что скрипт бесплатен и использует он стандартные библиотеки – GD и, естественно, требует наличия самого PHP (если у вас есть WordPress, то последний уж точно поддерживается). Работает с изображениями JPEG, GIF, PNG, в качестве бонуса скрипт повышает четкость изображения после ресайза.

5 комментариев

  • Сегодня только самый поганый хост GD не поддерживает, так что о ресурсах говорить не стоит. Скрипт не пробовал на нормальном сайте, только в тестах все, реальной пользы не было.

    • Ну так если хост поддерживает GD, должен и нагрузку обеспечивать.

  • Будет работать где угодно, при условии, что где-то будет сервер с этим скриптом на нем и картинками, хранящимися там же.

  • Нет.

    А надо? Ведь в ЖЖ структура блога фиксированная, можно только темы менять, и все. Большинство читают через френд-ленту и заходят в запись напрямую – также не подцепишь. Как я сказал, это надо владельцам собственных блогов, когда нужно сделать какую-то совершенно определенную фичу для сайта. Мне вот понравилось, может, прикрутим  ;)

  • здорово.. а в жж будет работать?

Leave a Reply

Your email address will not be published. Required fields are marked *

*