ManaPHP\Image\Adapter\Imagick::save PHP Method

save() public method

public save ( string $file, integer $quality = 80 )
$file string
$quality integer
    public function save($file, $quality = 80)
    {
        $file = $this->alias->resolve($file);
        $ext = strtolower(pathinfo($file, PATHINFO_EXTENSION));
        $this->_image->setFormat($ext);
        if ($ext === 'gif') {
            $this->_image->optimizeImageLayers();
        } else {
            if ($ext === 'jpg' || $ext === 'jpeg') {
                $this->_image->setImageCompression(\Imagick::COMPRESSION_JPEG);
                $this->_image->setImageCompressionQuality($quality);
            }
        }
        $dir = dirname($file);
        if (!@mkdir($dir, 0755, true) && !is_dir($dir)) {
            throw new ImagickException('create `:dir` image directory failed: :message', ['dir' => $dir, 'message' => error_get_last()['message']]);
        }
        if (!$this->_image->writeImage($file)) {
            throw new ImagickException('save `:file` image file failed', ['file' => $file]);
        }
    }