Столкнулся с проблемой изменения размеров (ресайз) изображений на лету при загрузке в wordpress. WordPress 2.9.1 умеет создавать 3 вида миниатюр ‘thumbnail’, ‘medium’, ‘large’. В админке wordpress можно задать размеры для каждого вида миниатюр, а вот авторесайза самих загружаемых изображений не предусмотрено (было бы не плохо сделать это встроенной возможностью в будущих версиях движка wordpress). Фотографии с моей камеры Nikon D60 достаточно «тяжелые» и имеют большое разрешение, заливать из на блог «как есть» очень проблематично, т.к. фото будут занимать очень много места на сервере и страницы wordpress блога будут загружаться мягко говоря медленно. Добрые люди посоветовали воспользоваться плагином Resize At Upload Plus.
Resize At Upload Plus
Установка плагина Resize At Upload Plus производится как обычно — скопировал и активировал, ничего сложного. После активации Resize At Upload Plus в меню появится страница с настройками плагина Resize At Upload Plus, где, собственно, указываем максимальную высоту и/или максимальную ширину изображения. После загрузки изображения на сервер оно отресайзится и сохраниться.

На странице настроек Resize At Upload Plus нет опции, которое влияет на качество изображения, но изменить качество можно напрямую в файле class.resize.php в папке с плагином Resize At Upload Plus пирмерно 199 строкой

где 90 это процент качества от первоначального изображения, т.е. 100 — без сжатия. Думаю, следует поиграться с этим значением, т.к. если вы загружаете изображения высокого разрешения, то изменение качества может сильно сэкономить место на вашем сервере.

Скачать плагин Resize At Upload Plus вы можете здесь.

Плагины-аналоги для ресайзинга изображений в wordpress:

  • Resize At Upload
  • Resize On Upload

Очень нравится загрузчик изображений на сайте в контакте. Как я понимаю, там ресайз и сжатие изображений происходят на стороне клиента, и на сервер отправляется уже «облегченное» изображение. Как такое реализовано кто-нибудь знает? Искал что-то подобное на javaScript, но ничего такого не нашел. Видимо такое только на флеш возможно.

Прочтите также: