To remove the dash and switch back to solid line, provide an array with a null value in it for $dashArray.
->setStrokeDashArray( [null] );
(PECL imagick 2, PECL imagick 3)
ImagickDraw::setStrokeDashArray — Especifica el patrón de trazo discontinuo
Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.
Especifica el patrón de trazo discontinuo, los segmentos de línea continua y los espacios. El objeto
strokeDashArray representa un array de números que especifican las
longitudes de los segmentos de línea continua y los espacios, en píxeles. Si se proporciona un número impar de valores,
entonces la lista se repite para obtener un número par de valores.
Para eliminar un array de patrón existente, se debe pasar un array con cero elementos, y null
como segundo valor. Un array strokeDashArray típico contiene los miembros 5 3 2.
dashes
Un array de números decimales
Devuelve true
en caso de éxito.
Ejemplo #1 Ejemplo con ImagickDraw::setStrokeDashArray()
<?php
function setStrokeDashArray($strokeColor, $fillColor, $backgroundColor) {
$draw = new \ImagickDraw();
$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->setStrokeWidth(4);
$draw->setStrokeDashArray([10, 10]);
$draw->rectangle(100, 50, 225, 175);
$draw->setStrokeDashArray([20, 5, 20, 5, 5, 5,]);
$draw->rectangle(275, 50, 400, 175);
$draw->setStrokeDashArray([20, 5, 20, 5, 5]);
$draw->rectangle(100, 200, 225, 350);
$draw->setStrokeDashArray([1, 1, 1, 1, 2, 2, 3, 3, 5, 5, 8, 8, 13, 13, 21, 21, 34, 34, 55, 55, 89, 89, 144, 144, 233, 233, 377, 377, 610, 610, 987, 987, 1597, 1597, 2584, 2584, 4181, 4181,]);
$draw->rectangle(275, 200, 400, 350);
$image = new \Imagick();
$image->newImage(500, 400, $backgroundColor);
$image->setImageFormat("png");
$image->drawImage($draw);
header("Content-Type: image/png");
echo $image->getImageBlob();
}
?>
To remove the dash and switch back to solid line, provide an array with a null value in it for $dashArray.
->setStrokeDashArray( [null] );
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();
?>