PHP 8.4.0 RC4 available for testing

ImagickDraw::pathStart

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathStartDeclara el inicio de una lista de dibujo de trazados

Descripción

public ImagickDraw::pathStart(): bool
Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Declara el inicio de una lista de dibujo de trazados que finaliza con un comando DrawPathFinish() coincidente. Todos los demás comandos DrawPath deben estar encerrados entre comandos DrawPathFinish(). Ésto es debido a que los comandos de dibujo de trazados son comandos subordinados y no funcionan por sí mismos.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de ImagickDraw::pathStart()

<?php
function pathStart($strokeColor, $fillColor, $backgroundColor) {

$draw = new \ImagickDraw();

$draw->setStrokeOpacity(1);
$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);

$draw->setStrokeWidth(2);
$draw->setFontSize(72);

$draw->pathStart();
$draw->pathMoveToAbsolute(50, 50);
$draw->pathLineToAbsolute(100, 50);
$draw->pathLineToRelative(0, 50);
$draw->pathLineToHorizontalRelative(-50);
$draw->pathFinish();

$draw->pathStart();
$draw->pathMoveToAbsolute(50, 50);
$draw->pathMoveToRelative(300, 0);
$draw->pathLineToRelative(50, 0);
$draw->pathLineToVerticalRelative(50);
$draw->pathLineToHorizontalAbsolute(350);
$draw->pathclose();
$draw->pathFinish();

$draw->pathStart();
$draw->pathMoveToAbsolute(50, 300);
$draw->pathCurveToAbsolute(50, 300, 100, 200, 300, 300);
$draw->pathLineToVerticalAbsolute(350);
$draw->pathFinish();

$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");

$imagick->drawImage($draw);

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

?>

add a note

User Contributed Notes 1 note

up
0
v010dya
9 months ago
Between $draw->pathStart() and $draw->pathFinish() you would need to start with $draw->pathMoveToAbsolute(x, y) to initialise the position. All the subsequent calls to "path functions" (including absolute ones) will continue the path.

I would expect pathStart to accept the starting coordinates, and it took me a while to realise that there you need to initialise with a different function.
To Top