Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
100.00% |
1 / 1 |
|
100.00% |
1 / 1 |
CRAP | |
100.00% |
21 / 21 |
| ImageResizer | |
100.00% |
1 / 1 |
|
100.00% |
1 / 1 |
4 | |
100.00% |
21 / 21 |
| resize($fileName, $newFileName, $maxWidth, $maxHeight = null) | |
100.00% |
1 / 1 |
4 | |
100.00% |
21 / 21 |
|||
| <?php | |
| /** | |
| * ImageResizer changes the resolution of an image file. | |
| */ | |
| namespace aae\app { | |
| /** | |
| * | |
| * @author Axel Ancona Esselmann | |
| * @package aae\app | |
| */ | |
| class ImageResizer { | |
| /** | |
| * Algorithm adapted from http://php.net/manual/en/function.imagecopyresampled.php | |
| * | |
| * @param str $fileName Old Image file | |
| * @param str $newFileName New Image file name | |
| * @param int $maxWidth maximum new width | |
| * @param int $maxHeight maximum new height | |
| */ | |
| public function resize($fileName, $newFileName, $maxWidth, $maxHeight = null) { | |
| if (is_null($maxHeight)) $maxHeight = $maxWidth; | |
| if (!file_exists($fileName)) throw new \Exception("File $fileName does not exist", 918151627); | |
| list($width, $height) = getimagesize($fileName); | |
| $ratio = $width / $height; | |
| if ($maxWidth / $maxHeight > $ratio) $maxWidth = $maxHeight * $ratio; | |
| else $maxHeight = $maxWidth / $ratio; | |
| $fileHandler = imagecreatetruecolor($maxWidth, $maxHeight); | |
| $image = imagecreatefromjpeg($fileName); | |
| imagecopyresampled( | |
| $fileHandler, | |
| $image, | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| $maxWidth, | |
| $maxHeight, | |
| $width, | |
| $height); | |
| imagejpeg($fileHandler, $newFileName); | |
| } | |
| } | |
| } |