Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Класс уменьшения размера изображения
Покинул форум
Сообщений всего: 39
Дата рег-ции: Апр. 2012
Помог: 0 раз(а)
Готовый класс на PHP
Для тех кто ищет в гугле
В гугле найти пример сложнее чем написать самому
Решил написать свой класс для обработки и уменьшения размера фотографий
Возможности класса:
- пропорционально уменьшать размер фото по ширине либо по высоте
- уменьшить фото в процентном соотношении
- вписать фотографию в рамку определенного размера
- произвольное изменение размера фотографии
- изменить качество фотографии
- вывод сгенерированной фотографии без сохранения
- сохранение фотографии на сервере
- назначение фото прав доступа
пропорционально изменяем размер изображение и сохраняем на сервере не изменяя расширения файла
полученное изображение не будет превышать по высоте 400 пикселей и по ширине 300
т.е. автоматически впишется в нужные размеры
Почему никак не предупреждаете о не поддерживаемом типе изображений? Зачем в конструкторе описаны все, а может работать только с тремя?
И почему не используется деструктор?
----- PostgreSQL DBA
DlTA
Отправлено: 19 Ноября, 2012 - 10:09:12
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
lowmax пишет:
$new_image->imagesave('jpeg', NULL, 75);
плохой вариант кода, получается что я должен помнить что именно вводить в тим сохраняемого изображения,
корректней было бы использовать те же константы IMAGETYPE_JPEG
$new_image->imagesave(IMAGETYPE_JPEG, NULL, 75);
хотя имхо, лучше было бы вообще этот метод сделать приватным, а доступ к нему сделать через несколько публичных, например:
$new_image->imageSave('filename', type=default); // сохранение в файл и только
$new_image->imageOut(type=default); // выдача в браузер и только
можно еще изловчиться, создать класс изображение, а уже от него наследовать классы для работы с каждым конкретным типом.
avtor.fox
Отправлено: 19 Ноября, 2012 - 10:25:54
Постоянный участник
Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012 Откуда: Воронеж
Помог: 50 раз(а)
lowmax сколько раз и какое количество экземпляров класса я создам если -
Нужно пережать не одну картинку за 1 запуск скрипта;
При обработке изображений например понадобилось не только принудительно изменить их размер явно в пикселях, но и изменить процентное соотношение. Пример - одну картинку изменяем явно (пиксели), другую в процентах. 100 итераций цикла на обработку. Нужен костыль;
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.