zend-blog-3-backend

Форк
0
/
DebugAnnotation.php 
44 строки · 1.1 Кб
1
<?php
2

3
namespace App\Model\Resizer;
4

5
use Imagick;
6
use ImagickDraw;
7
use ImagickPixel;
8

9
trait DebugAnnotation
10
{
11
    private function annotate($width, $height, Imagick $image)
12
    {
13
        /*
14
        $fontList = Imagick::queryFonts('*');
15
        foreach ($fontList as $fontName) {
16
            dump($fontName);
17
        }
18
        return */
19

20
        $draw = new ImagickDraw();
21

22
        $draw->setFont('DejaVu-Sans-Mono');
23
        $draw->setFontSize(16);
24
        $draw->setFillColor(new ImagickPixel('#FFFFFF'));
25
        $draw->setStrokeAntialias(true);
26
        $draw->setTextAntialias(true);
27

28
        $text = sprintf(
29
            '%s%s%s',
30
            $width ? $width . 'w ' : '',
31
            $height ? $height . 'h ' : '',
32
            $this->getFormat()
33
        );
34

35
        $metrics = $image->queryFontMetrics($draw, $text);
36
        $draw->annotation(5, 2 + $metrics['ascender'], $text);
37

38
        $canvas = new Imagick();
39
        $canvas->newImage(10 + $metrics['textWidth'], 4 + $metrics['textHeight'], new ImagickPixel('#000000'));
40

41
        $canvas->drawImage($draw);
42
        $image->compositeImage($canvas, Imagick::COMPOSITE_OVER, 5, 5);
43
    }
44
}
45

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

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

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

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