Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
0.00% covered (danger)
0.00%
0 / 1
33.33% covered (danger)
33.33%
1 / 3
CRAP
45.45% covered (danger)
45.45%
5 / 11
PngImageAssetFileFilter
0.00% covered (danger)
0.00%
0 / 1
33.33% covered (danger)
33.33%
1 / 3
22.15
45.45% covered (danger)
45.45%
5 / 11
 setImageQuality
0.00% covered (danger)
0.00%
0 / 1
42
0.00% covered (danger)
0.00%
0 / 5
 getImageQuality
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
1 / 1
 optimizeImage
0.00% covered (danger)
0.00%
0 / 1
2.03
80.00% covered (warning)
80.00%
4 / 5
<?php
namespace AssetsBundle\AssetFile\AssetFileFilter\ImageAssetFileFilter;
class PngImageAssetFileFilter extends \AssetsBundle\AssetFile\AssetFileFilter\ImageAssetFileFilter\AbstractImageAssetFileFilter {
    /**
     * @var string
     */
    protected $assetFileFilterName = 'Png';
    /**
     * Compression level: from 0 (no compression) to 9.
     * @var int
     */
    protected $imageQuality = 9;
    /**
     * @param int $iImageQuality
     * @throws \InvalidArgumentException
     * @return \AssetsBundle\Service\Filter\PngFilter
     */
    public function setImageQuality($iImageQuality) {
        if (!is_numeric($iImageQuality) || $iImageQuality < 0 || $iImageQuality > 9) {
            throw new \InvalidArgumentException(sprintf(
                    '$iImageQuality expects int from 0 to 9 "%s" given', is_scalar($iImageQuality) ? $iImageQuality : (is_object($iImageQuality) ? get_class($iImageQuality) : gettype($iImageQuality))
            ));
        }
        $this->imageQuality = (int) $iImageQuality;
        return $this;
    }
    /**
     * @return int
     */
    public function getImageQuality() {
        return $this->imageQuality;
    }
    /**
     * @param ressource $oImage
     * @return string
     * @throws \InvalidArgumentException
     */
    public function optimizeImage($oImage) {
        if (is_resource($oImage)) {
            ob_start();
            imagepng($oImage, null, $this->getImageQuality());
            return ob_get_clean();
        }
        throw new \InvalidArgumentException('Image expects a ressource, "' . gettype($oImage) . '" given');
    }
}