Файл: toolkit/AcImagePNG.php
Строк: 52
<?php
/**
* @package image
*
* @author Андрей Загорцев <freeron@ya.ru>
* @author Антон Кургузенков <kurguzenkov@list.ru>
*
* @version 0.01
* @since 2012-11-11
*/
require_once 'AcImage.php';
require_once 'geometry/exceptions.php';
/**
* Класс, описывающий изображение в формате png
*/
class AcImagePNG extends AcImage
{
/**
* Проверяет, поддерживается ли формат png
*
* @return boolean
*/
public static function isSupport()
{
$gdInfo = parent::getGDinfo();
return (bool)$gdInfo['PNG Support'];
}
/**
* @param string путь к файлу с изображением
* @throws UnsupportedFormatException
*/
protected function __construct($filePath)
{
if (!self::isSupport())
throw new UnsupportedFormatException('png');
parent::__construct($filePath);
$path = parent::getFilePath();
parent::setResource(@imagecreatefrompng($path));
}
/**
* @param string путь, по которому будет сохранено изображение
* @return AcImage
*/
public function save($path)
{
return parent::saveAsPNG($path);
}
/**
* Возвращяет качество png-изображения
* @return int
* @throws FileAlreadyExistsException
* @throws FileNotSaveException
*/
// png qulity [0, 9] показывает степень сжатия
// 0 - лучшее качество (нет сжатия)
public static function getQuality()
{
return 9 - round(parent::getQuality() / 10);
}
}
?>