Вход Регистрация
Файл: 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 
round(parent::getQuality() / 10);
    }
}
?>
Онлайн: 1
Реклама