public function save($file, $quality = 80)
{
$file = $this->alias->resolve($file);
$ext = strtolower(pathinfo($file, PATHINFO_EXTENSION));
if ($ext === '') {
$ext = 'jpg';
}
$dir = dirname($file);
if (!@mkdir($dir, 0755, true) && !is_dir($dir)) {
throw new GdException('create `:dir` image directory failed: :message', ['dir' => $dir, 'message' => error_get_last()['message']]);
}
if ($ext === 'gif') {
imagegif($this->_image, $file);
} elseif ($ext === 'jpg' || $ext === 'jpeg') {
imagejpeg($this->_image, $file, $quality);
} elseif ($ext === 'png') {
imagepng($this->_image, $file);
} else {
throw new GdException('`:extension` is not supported by Installed GD', ['extension' => $ext]);
}
}