Конвертация изображений из png в jpg 2.X

 
Посетитель
no avatar
Сообщений: 54
Доброго дня, Уважаемые форумчане!

Как можно сделать автоматическую конвертацию загружаемых изображений из PNG в JPG? Чтобы еще и поддержка watermark'а осталась.

Просто пользователи совсем не задумываются, когда загружают изображения 500 на 500 px размером больше мегабайта.
Посетитель
small user social cms
Медаль
Сообщений: 987
поставить ограничение по размеру, что пользователи начали думать сами
Комплексный подход к Вашему онлайн-бизнесу: домены, хостинг, сайты.
Продажа качественных доменов.
Реклама
cms
Посетитель
no avatar
Сообщений: 54
Андрей:

поставить ограничение по размеру, что пользователи начали думать сами

Один из вариантов, но тоже с недостатками. Поставлю ограничение 1мб. Загрузят png 980кб, а при конвертации в jpg картинка будет 50кб весить.
На wp привык, там плагин есть, который автоматом обрезает по размерам и формат меняет и можно не думать об ограничении для юзеров.
Посетитель
small user social cms
Медаль
Сообщений: 124
//Определяем размер фотографии — ширину и высоту
$size=GetImageSize ($path2);
//Создаём новое изображение из «старого»
$src=ImageCreateFromJPEG ($path2);
//Берём числовое значение ширины фотографии, которое мы получили в первой строке и записываем это число в переменную
$iw=$size[0];
//Проделываем ту же операцию, что и в предыдущей строке, но только уже с высотой.
$ih=$size[1];
//Ширину фотографии делим на 200 т.к. на выходе мы хотим получить фото шириной в 200 пикселей. В результате получаем коэфициент соотношения ширины оригинала с будущей превьюшкой.
$koe=$iw/200;
//Делим высоту изображения на коэфициент, полученный в предыдущей строке, и округляем число до целого в большую сторону — в результате получаем высоту нового изображения.
$new_h=ceil ($ih/$koe);
//Создаём пустое изображение шириной в 200 пикселей и высотой, которую мы вычислили в предыдущей строке.
$dst=ImageCreateTrueColor (200, $new_h);
//Данная функция копирует прямоугольную часть изображения в другое изображение, плавно интерполируя пикселные значения таким образом, что, в частности, уменьшение размера изображения сохранит его чёткость и яркость.
ImageCopyResampled ($dst, $src, 0, 0, 0, 0, 200, $new_h, $iw, $ih);
//Сохраняем полученное изображение в формате JPG
ImageJPEG ($dst, $path3, 80);
imagedestroy($src);

Что то типа этого?
Посетитель
no avatar
Сообщений: 54
@chameleon9:
Что то типа этого?

Для меня это немного сложно выглядит. По размерам - устраивает функционал "пресетов" из коробки. Если бы туда галочку добавить "преобразовать в jpg" - было бы идеально.
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4301
@Kerncraft1:
Если бы туда галочку добавить "преобразовать в jpg" - было бы идеально.
Есть такое в планах.
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
Посетитель
small user social cms
Сообщений: 88
jpg не поддерживает прозрачность и слои. Будет невозможно выложить например картинку без фона.
Сайт о волнистых попугаях «Волнистый город»
Посетитель
no avatar
Сообщений: 54
Fuze:
Есть такое в планах.

Отличные новости! Буду с нетерпением ждать!

jinbiryukov:
jpg не поддерживает прозрачность и слои. Будет невозможно выложить например картинку без фона.

Поэтому и нужно дать право выбора. Я бы спокойно отказался от прозрачности.
Посетитель
small user social cms
Медаль
Сообщений: 319
Андрей:
поставить ограничение по размеру, что пользователи начали думать сами
Еще можно в ссылку на скачивание программ для сжатия носом натыкать. И страницу с инструкциями по пользованию сайтом написать.
Посетитель
no avatar
Сообщений: 54
Dmitry:
Еще можно в ссылку на скачивание программ для сжатия носом натыкать. И страницу с инструкциями по пользованию сайтом написать.

Все можно - это безусловно. Но если вы хоть раз работали с крупными сайтами, где пользователями генерируется почти 100% контента, то знаете, что полностью соблюдать инструкции способны единицы из них.

В целом тему можно считать закрытой, так как Fuze, обнадежил появлением функционала конвертации в коробке.
В начало страницы
Предыдущая темаСледующая тема Перейти на форум: