Commit 8e5f1983394ee1d9985c58066d8ee5eeca1068e3
1 parent
9527e87e
Image helper improve
Showing
1 changed file
with
19 additions
and
15 deletions
Show diff stats
components/artboximage/ArtboxImageHelper.php
... | ... | @@ -46,33 +46,35 @@ |
46 | 46 | } |
47 | 47 | return empty( self::$presets[ $preset ] ) ? null : self::$presets[ $preset ]; |
48 | 48 | } |
49 | - | |
49 | + | |
50 | 50 | /** |
51 | 51 | * Get image HTML for image |
52 | 52 | * |
53 | 53 | * @param string $file |
54 | 54 | * @param array|string $preset |
55 | 55 | * @param array $imgOptions |
56 | + * @param int $quality | |
56 | 57 | * |
57 | - * @see Html::img() | |
58 | 58 | * @return string |
59 | + * @see Html::img() | |
59 | 60 | */ |
60 | - public static function getImage($file, $preset, $imgOptions = []) | |
61 | + public static function getImage($file, $preset, $imgOptions = [], $quality = 75) | |
61 | 62 | { |
62 | 63 | $preset_alias = is_array($preset) ? array_keys($preset)[ 0 ] : null; |
63 | - return Html::img(self::getImageSrc($file, $preset, $preset_alias), $imgOptions); | |
64 | + return Html::img(self::getImageSrc($file, $preset, $preset_alias, $quality), $imgOptions); | |
64 | 65 | } |
65 | - | |
66 | + | |
66 | 67 | /** |
67 | 68 | * Get src for image |
68 | 69 | * |
69 | 70 | * @param string $file |
70 | 71 | * @param string $preset |
71 | 72 | * @param null|string $preset_alias |
73 | + * @param int $quality | |
72 | 74 | * |
73 | 75 | * @return bool|string |
74 | 76 | */ |
75 | - public static function getImageSrc($file, $preset, $preset_alias = null) | |
77 | + public static function getImageSrc($file, $preset, $preset_alias = null, $quality = 75) | |
76 | 78 | { |
77 | 79 | if (is_string($preset)) { |
78 | 80 | $preset_alias = $preset; |
... | ... | @@ -90,7 +92,7 @@ |
90 | 92 | ) { |
91 | 93 | return $file; |
92 | 94 | } |
93 | - return self::getPresetUrl($filePath, $preset, $preset_alias); | |
95 | + return self::getPresetUrl($filePath, $preset, $preset_alias, $quality); | |
94 | 96 | } |
95 | 97 | |
96 | 98 | /** |
... | ... | @@ -116,17 +118,18 @@ |
116 | 118 | { |
117 | 119 | return substr_replace($path, self::getDriver()->rootUrl, 0, strlen(self::getDriver()->rootPath)); |
118 | 120 | } |
119 | - | |
121 | + | |
120 | 122 | /** |
121 | 123 | * Get formatted file url or create it if not exist |
122 | 124 | * |
123 | 125 | * @param string $filePath |
124 | 126 | * @param array $preset |
125 | 127 | * @param string $preset_alias |
128 | + * @param int $quality | |
126 | 129 | * |
127 | 130 | * @return bool|string |
128 | 131 | */ |
129 | - private static function getPresetUrl($filePath, $preset, $preset_alias) | |
132 | + private static function getPresetUrl($filePath, $preset, $preset_alias, $quality = 75) | |
130 | 133 | { |
131 | 134 | $pathinfo = pathinfo($filePath); |
132 | 135 | $presetPath = $pathinfo[ 'dirname' ] . '/styles/' . strtolower($preset_alias); |
... | ... | @@ -138,7 +141,7 @@ |
138 | 141 | if (!file_exists($presetPath)) { |
139 | 142 | @mkdir($presetPath, 0777, true); |
140 | 143 | } |
141 | - $output = self::createPresetImage($filePath, $preset, $preset_alias); | |
144 | + $output = self::createPresetImage($filePath, $preset, $preset_alias, $quality); | |
142 | 145 | if (!empty( $output )) { |
143 | 146 | $f = fopen($presetFilePath, 'w'); |
144 | 147 | fwrite($f, $output); |
... | ... | @@ -154,13 +157,14 @@ |
154 | 157 | * * resize |
155 | 158 | * * flip |
156 | 159 | * |
157 | - * @param string $filePath | |
158 | - * @param array $preset | |
159 | - * @param string $preset_alias | |
160 | + * @param string $filePath | |
161 | + * @param array $preset | |
162 | + * @param string $preset_alias | |
163 | + * @param integer $quality | |
160 | 164 | * |
161 | 165 | * @return string |
162 | 166 | */ |
163 | - private static function createPresetImage($filePath, $preset, $preset_alias) | |
167 | + private static function createPresetImage($filePath, $preset, $preset_alias, $quality = 75) | |
164 | 168 | { |
165 | 169 | $image = self::getDriver() |
166 | 170 | ->load($filePath); |
... | ... | @@ -179,7 +183,7 @@ |
179 | 183 | break; |
180 | 184 | } |
181 | 185 | } |
182 | - return $image->render(null, 65); | |
186 | + return $image->render(null, $quality); | |
183 | 187 | } |
184 | 188 | |
185 | 189 | /** | ... | ... |