zend-blog-3-backend

Форк
0
41 строка · 993.0 Байт
1
<?php
2

3
namespace App\Model\Resizer;
4

5
use App\Model\ResizerInterface;
6
use Imagick;
7
use ImagickException;
8

9
class JpegResizer implements ResizerInterface
10
{
11
    use DebugAnnotation;
12

13
    /**
14
     * @throws ImagickException
15
     */
16
    public 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

37
    protected function getFormat(): string
38
    {
39
        return 'jpeg';
40
    }
41
}
42

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.