(PECL imagick 2, PECL imagick 3)
ImagickDraw::setStrokeMiterLimit — Задаёт предел среза обводки
Функцию пока не задокументировали; для знакомства доступен только список аргументов.
Задаёт предел среза. Когда два отрезка линии встречаются под острым углом и для 'lineJoin' заданы угловые стыки, срез может выходить далеко за пределы толщины линии, обводящей контур. 'miterLimit' накладывает ограничение на отношение длины среза к 'lineWidth'.
miterlimit
Предел среза.
Функция не возвращает значения после выполнения.
Пример #1 Пример использования ImagickDraw::setStrokeMiterLimit()
<?php
function setStrokeMiterLimit($strokeColor, $fillColor, $backgroundColor) {
$draw = new \ImagickDraw();
$draw->setStrokeColor($strokeColor);
$draw->setStrokeOpacity(0.6);
$draw->setFillColor($fillColor);
$draw->setStrokeWidth(10);
$yOffset = 100;
$draw->setStrokeLineJoin(\Imagick::LINEJOIN_MITER);
for ($y = 0; $y < 3; $y++) {
$draw->setStrokeMiterLimit(40 * $y);
$points = [
['x' => 22 * 3, 'y' => 15 * 4 + $y * $yOffset],
['x' => 20 * 3, 'y' => 20 * 4 + $y * $yOffset],
['x' => 70 * 5, 'y' => 45 * 4 + $y * $yOffset],
];
$draw->polygon($points);
}
$image = new \Imagick();
$image->newImage(500, 500, $backgroundColor);
$image->setImageFormat("png");
$image->drawImage($draw);
$image->setImageType(\Imagick::IMGTYPE_PALETTE);
$image->setImageCompressionQuality(100);
$image->stripImage();
header("Content-Type: image/png");
echo $image->getImageBlob();
}
?>