Обзор

Пакеты

  • exceptions
  • geometry
  • image
  • PHP

Классы

  • AcColor
  • AcImage
  • AcImageGIF
  • AcImageJPG
  • AcImagePNG
  • Обзор
  • Пакет
  • Класс
  • Дерево
 1: <?php
 2: 
 3: /**
 4:  * @package image
 5:  *
 6:  * @author Андрей Загорцев <freeron@ya.ru>
 7:  * @author Антон Кургузенков <kurguzenkov@list.ru>
 8:  *
 9:  * @version 0.01
10:  * @since 2012-11-11
11:  */
12: 
13: require_once 'AcImage.php';
14: require_once 'geometry/exceptions.php';
15: 
16: /**
17:  * Класс, описывающий изображение в формате png
18:  */
19: 
20: class AcImagePNG extends AcImage
21: {
22:     /**
23:      * Проверяет, поддерживается ли формат png
24:      *
25:      * @return boolean
26:      */
27: 
28:     public static function isSupport()
29:     {
30:         $gdInfo = parent::getGDinfo();
31:         return (bool)$gdInfo['PNG Support'];
32:     }
33: 
34:     /**
35:      * @param string путь к файлу с изображением
36:      * @throws UnsupportedFormatException
37:      */
38: 
39:     protected function __construct($filePath)
40:     {
41:         if (!self::isSupport())
42:             throw new UnsupportedFormatException('png');
43: 
44:         parent::__construct($filePath);
45:         $path = parent::getFilePath();
46:         parent::setResource(@imagecreatefrompng($path));
47:     }
48: 
49:     /**
50:      * @param string путь, по которому будет сохранено изображение
51:      * @return AcImage
52:      */
53: 
54:     public function save($path)
55:     {
56:         return parent::saveAsPNG($path);
57:     }
58: 
59:     /**
60:      * Возвращяет качество png-изображения
61:      * @return int
62:      * @throws FileAlreadyExistsException
63:      * @throws FileNotSaveException
64:      */
65: 
66:     // png qulity [0, 9] показывает степень сжатия
67:     // 0 - лучшее качество (нет сжатия)
68:     public static function getQuality()
69:     {
70:         return 9 - round(parent::getQuality() / 10);
71:     }
72: }
73: ?>
API documentation generated by ApiGen 2.8.0