PHP 8.1.0 RC 2 available for testing

ImagickDraw::setStrokeDashArray

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setStrokeDashArrayЗадаёт паттерн из штрихов и пробелов, используемых для обводки контуров

Описание

public ImagickDraw::setStrokeDashArray(array $dashArray): bool
Внимание

К настоящему времени эта функция ещё не была документирована; для ознакомления доступен только список аргументов.

Задаёт паттерн из штрихов и пробелов, используемый для обводки контуров. strokeDashArray представляет собой массив чисел, определяющих длину чередующихся штрихов и пробелов в пикселях. Если указано нечётное количество значений, то список значений повторяется, чтобы получить чётное количество значений. Чтобы удалить существующий массив штрихов, необходимо передать number_elements со значением ноль и dash_array со значением null. Типичный массив strokeDashArray_ может содержать элементы 5 3 2.

Список параметров

dashArray

Массив чисел с плавающей точкой.

Возвращаемые значения

В случае успешной работы возвращает true.

Примеры

Пример #1 Пример использования ImagickDraw::setStrokeDashArray()

<?php
function setStrokeDashArray($strokeColor$fillColor$backgroundColor) {

    
$draw = new \ImagickDraw();

    
$draw->setStrokeColor($strokeColor);
    
$draw->setFillColor($fillColor);
    
$draw->setStrokeWidth(4);

    
$draw->setStrokeDashArray([1010]);
    
$draw->rectangle(10050225175);

    
$draw->setStrokeDashArray([20520555,]);
    
$draw->rectangle(27550400175);

    
$draw->setStrokeDashArray([2052055]);
    
$draw->rectangle(100200225350);

    
$draw->setStrokeDashArray([11112233558813132121343455558989144144233233377377610610987987159715972584258441814181,]);

    
$draw->rectangle(275200400350);

    
$image = new \Imagick();
    
$image->newImage(500400$backgroundColor);
    
$image->setImageFormat("png");
    
$image->drawImage($draw);

    
header("Content-Type: image/png");
    echo 
$image->getImageBlob();
}

?>

add a note add a note

User Contributed Notes 2 notes

up
1
KV
2 years ago
To remove the dash and switch back to solid line, provide an array with a null value in it for $dashArray.

->setStrokeDashArray( [null] );
up
1
andrew at ierbsolutions dot co dot uk
12 years ago
Example:

<?php
$base_image
= new Imagick('example.png');
$rect = new ImagickDraw();
$rect->setFillColor(new ImagickPixel("#EEEEEE"));
$rect->setFillOpacity(0);
$rect->setStrokeColor(new ImagickPixel("#FF0000"));
$rect->setStrokeDashArray(array(5,5,5));
$rect->rectangle(10, 10, 100, 100);
$base_image->drawImage($rect);

header('Content-type: image/png');
echo
$base_image->getImage();
exit();
?>
To Top