diff --git a/components/artboximage/ArtboxImageHelper.php b/components/artboximage/ArtboxImageHelper.php index 1da66f3..a914d88 100755 --- a/components/artboximage/ArtboxImageHelper.php +++ b/components/artboximage/ArtboxImageHelper.php @@ -46,33 +46,35 @@ } return empty( self::$presets[ $preset ] ) ? null : self::$presets[ $preset ]; } - + /** * Get image HTML for image * * @param string $file * @param array|string $preset * @param array $imgOptions + * @param int $quality * - * @see Html::img() * @return string + * @see Html::img() */ - public static function getImage($file, $preset, $imgOptions = []) + public static function getImage($file, $preset, $imgOptions = [], $quality = 75) { $preset_alias = is_array($preset) ? array_keys($preset)[ 0 ] : null; - return Html::img(self::getImageSrc($file, $preset, $preset_alias), $imgOptions); + return Html::img(self::getImageSrc($file, $preset, $preset_alias, $quality), $imgOptions); } - + /** * Get src for image * * @param string $file * @param string $preset * @param null|string $preset_alias + * @param int $quality * * @return bool|string */ - public static function getImageSrc($file, $preset, $preset_alias = null) + public static function getImageSrc($file, $preset, $preset_alias = null, $quality = 75) { if (is_string($preset)) { $preset_alias = $preset; @@ -90,7 +92,7 @@ ) { return $file; } - return self::getPresetUrl($filePath, $preset, $preset_alias); + return self::getPresetUrl($filePath, $preset, $preset_alias, $quality); } /** @@ -116,17 +118,18 @@ { return substr_replace($path, self::getDriver()->rootUrl, 0, strlen(self::getDriver()->rootPath)); } - + /** * Get formatted file url or create it if not exist * * @param string $filePath * @param array $preset * @param string $preset_alias + * @param int $quality * * @return bool|string */ - private static function getPresetUrl($filePath, $preset, $preset_alias) + private static function getPresetUrl($filePath, $preset, $preset_alias, $quality = 75) { $pathinfo = pathinfo($filePath); $presetPath = $pathinfo[ 'dirname' ] . '/styles/' . strtolower($preset_alias); @@ -138,7 +141,7 @@ if (!file_exists($presetPath)) { @mkdir($presetPath, 0777, true); } - $output = self::createPresetImage($filePath, $preset, $preset_alias); + $output = self::createPresetImage($filePath, $preset, $preset_alias, $quality); if (!empty( $output )) { $f = fopen($presetFilePath, 'w'); fwrite($f, $output); @@ -154,13 +157,14 @@ * * resize * * flip * - * @param string $filePath - * @param array $preset - * @param string $preset_alias + * @param string $filePath + * @param array $preset + * @param string $preset_alias + * @param integer $quality * * @return string */ - private static function createPresetImage($filePath, $preset, $preset_alias) + private static function createPresetImage($filePath, $preset, $preset_alias, $quality = 75) { $image = self::getDriver() ->load($filePath); @@ -179,7 +183,7 @@ break; } } - return $image->render(null, 65); + return $image->render(null, $quality); } /** -- libgit2 0.21.4