Вниз  Класс для обработки изображений
- 3.10.2013 / 18:27
Koenig
  Модератор форума

Koenig 
Сейчас: Offline
Открыть спойлер

__________________
 Магистр Мёда

Изменено aNNiMON (21.08 / 09:17) (всего 1 раз)
- 3.10.2013 / 18:28
Koenig
  Модератор форума

Koenig 
Сейчас: Offline
как работает?
шрифт прикрепляю

  1. $img = new koeimg('test3.png'); // картинка
  2.  
  3. $img->mirroring(); // зеркально перевернуть
  4.  
  5. $img->grayscale();  // чб вариант
  6.  
  7. #$img->rotate(); // крутить на 90 градусов по умолчанию
  8. #$img->rotate(180); // 180
  9.  
  10. $img->copyright('Copyright (c) Copyright (c) Copyright (c)');  /* копирайт левый нижний угол */
  11. #$img->copyright('Copyright (c) Copyright (c) Copyright (c)', 2); /* копирайт левый верхний угол */
  12. $img->rewidth(1400); // пропорционально сделать картинку с шириной в 1400
  13. $img->reheight(500); // пропорционально сделать картинку с длиной в 500
  14.  
  15. $img->scale(200); // увеличить картинку на 200%
  16. #$img->scale(33); // уменьшить картинку до 33%
  17. #$img->resize(200, 300); // сделать 200х300
  18.  
  19.  
  20.  
  21. $args = array('type' => 'jpeg', 'newfile' => 'testimg', 'quality' => 100); // аргументы для вывода
  22. $img->out($args);
  23. #$img->out(); // выдаст png на экран

__________________
 Магистр Мёда


Прикрепленные файлы:
arial.zip (0 кб.) Скачано 64 раза
- 3.10.2013 / 18:30
Koenig
  Модератор форума

Koenig 
Сейчас: Offline
скрин
__________________
 Магистр Мёда


Прикрепленные файлы:
137442231322.jpg (31.46 кб.) Скачано 254 раза
- 3.10.2013 / 19:31
web_demon
  Супервизор

web_demon 
Сейчас: Offline
Koenig, с прозрачностью в png все норм будет?
- 4.10.2013 / 11:13
Koenig
  Модератор форума

Koenig 
Сейчас: Offline
web_demon, и пнг и гиф и жпег, класс писался долго, но был дописан недавно, времени все не было, тут нужда пересилила
__________________
 Магистр Мёда
- 4.10.2013 / 17:20
web_demon
  Супервизор

web_demon 
Сейчас: Offline
Koenig, заюзал класс в новом движке) Дописал небольшой метод для личных нужд:
  1. public function remax($max_width, $max_height)
  2. {
  3. /**
  4. * пропорциональное изменение по ширине и высоте
  5. * Изменяет масштаб, только если высота или ширина больше максимальных
  6. * @param integer новая ширина
  7. * @return resource
  8. */  
  9.   if($this->height >= $this->width) {
  10.     //высота больше  
  11.     if($this->height > $max_height) {
  12.        $width = ceil($this->width * ($max_height / $this->height));
  13.        $this->resize($width, $max_height);
  14.     }  
  15.   } else {
  16.     //Ширина больше
  17.     if($this->width > $max_width) {
  18.       $height = ceil($this->height * ($max_width / $this->width));
  19.       $this->resize($max_width, $height);
  20.     }  
  21.   }
  22. }
И еще одно предложение: может сделать $height и $width - public. Все таки бывают случаи когда нужно узнать размер изображения вне класса.

Изменено web_demon (4.10 / 17:22) (всего 1 раз)
- 5.10.2013 / 01:10
Koenig
  Модератор форума

Koenig 
Сейчас: Offline
класс как бы не идеальный, принимаются дополнения и критика
__________________
 Магистр Мёда
- 5.10.2013 / 01:12
web_demon
  Супервизор

web_demon 
Сейчас: Offline
И еще, возникли проблемы с этим куском кода.
  1.  $defaultmode = array(
  2.   'type' => 'png',
  3.   'newfile' => null,
  4.   'quality' => 9,
  5.   'filters' => PNG_ALL_FILTERS
  6. );
Если выводить в jpeg, то качество в 9 - это как напечатать фотку на принтере, постирать ее и высушить и потом вывести в браузер =) Для каждого расширения наверное нужно делать свои настройки по умолчанию.

Изменено web_demon (5.10 / 01:12) (всего 1 раз)
- 5.10.2013 / 01:13
Koenig
  Модератор форума

Koenig 
Сейчас: Offline
по поводу публика свойств
надо два метода добавить
  1. public function get_widht() {
  2. return $this->widht;
  3. }
  4.  
  5. public function get_height() {
  6. return $this->height;
  7. }

__________________
 Магистр Мёда
- 5.10.2013 / 01:13
Kira
  Пользователь

Kira 
Koenig, хорошая работа, но совсем чуточку велосипед, есть тот же класс img_resize.php. Но спасибо, сделано красиво
Наверх  Всего сообщений: 35
Фильтровать сообщения
Поиск по теме
Файлы топика (7)