PHP Conference Nagoya 2025

ImagickDraw::pathStart

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathStartDeclara o início de uma lista de desenho de caminho

Descrição

public ImagickDraw::pathStart(): bool
Aviso

Esta função não está documentada; apenas a lista de argumentos está disponível.

Declara o início de uma lista de desenho de caminho que é finalizada por um comando DrawPathFinish() correspondente. Todos os outros comandos DrawPath devem ser colocados entre um comando DrawPathStart() e um comando DrawPathFinish(). Isso ocorre porque os comandos de desenho de caminho são comandos subordinados e não funcionam sozinhos.

Valor Retornado

Nenhum valor é retornado.

Exemplos

Exemplo #1 Exemplo 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();
}

?>

adicione uma nota

Notas Enviadas por Usuários (em inglês) 1 note

up
0
v010dya
10 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