zend-blog-3-backend
41 строка · 993.0 Байт
1<?php
2
3namespace App\Model\Resizer;
4
5use App\Model\ResizerInterface;
6use Imagick;
7use ImagickException;
8
9class JpegResizer implements ResizerInterface
10{
11use DebugAnnotation;
12
13/**
14* @throws ImagickException
15*/
16public function resize(string $filePath, string $newFilePath, int $width, int $height)
17{
18$image = new Imagick($filePath);
19$image->stripImage();
20
21$image->resizeImage($width, $height, Imagick::FILTER_LANCZOS, 1);
22
23$image->setFormat($this->getFormat());
24$image->setImageFormat($this->getFormat());
25
26$image->setCompression(Imagick::COMPRESSION_JPEG);
27$image->setImageCompression(Imagick::COMPRESSION_JPEG);
28$image->setCompressionQuality(75);
29$image->setImageCompressionQuality(75);
30
31//$this->annotate($width, $height, $image);
32
33$image->writeImage($newFilePath);
34$image->clear();
35}
36
37protected function getFormat(): string
38{
39return 'jpeg';
40}
41}
42