La función ImagickDraw::pathCurveToSmoothRelative() es una función incorporada en PHP que se usa para dibujar una curva Bezier cúbica desde el punto actual hasta (x,y) usando coordenadas relativas.
Sintaxis:
bool ImagickDraw::pathCurveToSmoothRelative( float $x2, float $y2, float $x, float $y )
Parámetros: esta función acepta cuatro parámetros, como se mencionó anteriormente y se describe a continuación:
- $x2: Especifica la coordenada x del segundo punto de control.
- $y2: Especifica la coordenada y del segundo punto de control.
- $x: Especifica la coordenada x del punto final.
- $y: Especifica la coordenada y del punto final.
Valor de retorno: esta función devuelve VERDADERO en caso de éxito.
Excepciones: esta función lanza ImagickException en caso de error.
Los siguientes programas ilustran la función ImagickDraw::pathCurveToSmoothRelative() en PHP:
Programa 1:
<?php // Create a new imagick object $imagick = new Imagick(); // Create a image on imagick object $imagick->newImage(800, 250, 'skyblue'); // Create a new ImagickDraw object $draw = new ImagickDraw(); // Set the fill color $draw->setFillColor('skyblue'); // Set the stroke color $draw->setStrokeColor('black'); // Set the stroke width $draw->setStrokeWidth(5); // Draw a painting $draw->pathStart(); $draw->pathMoveToRelative(335, 70); $draw->pathCurveToSmoothRelative(50, -50, 60, 20); $draw->pathCurveToSmoothRelative(50, -50, 60, 20); $draw->pathMoveToRelative(50, 50); $draw->pathCurveToSmoothRelative(50, -50, 60, 20); $draw->pathCurveToSmoothRelative(50, -50, 60, 20); $draw->pathMoveToRelative(-500, 0); $draw->pathCurveToSmoothRelative(50, -50, 60, 20); $draw->pathCurveToSmoothRelative(50, -50, 60, 20); $draw->pathFinish(); // Set the fill color $draw->setFillColor('yellow'); // Draw a circle $draw->circle(20, 20, 100, 20); // Set the stroke width $draw->setStrokeWidth(1); // Set the fond size $draw->setFontSize(40); // Set the fill color $draw->setFillColor('yellow'); // Annotate the text $draw->annotation(500, 40, 'Summer Vibes'); // Render the draw commands $imagick->drawImage($draw); // Show the output $imagick->setImageFormat('png'); header("Content-Type: image/png"); echo $imagick->getImageBlob(); ?>
Producción:
Programa 2:
<?php // Create a new imagick object $imagick = new Imagick(); // Create a image on imagick object $imagick->newImage(800, 250, 'cyan'); // Create a new ImagickDraw object $draw = new ImagickDraw(); $draw->setFillColor('purple'); // Set the stroke color $draw->setStrokeColor('blue'); // Set the stroke width $draw->setStrokeWidth(15); // Draw curves to Quadratic Bezier Relative (with pathClose()) $draw->pathStart(); $draw->pathCurveToSmoothRelative(-200, 250, 1900, 1250); $draw->pathClose(); $draw->pathFinish(); // Render the draw commands $imagick->drawImage($draw); // Show the output $imagick->setImageFormat('png'); header("Content-Type: image/png"); echo $imagick->getImageBlob(); ?>
Producción:
Referencia: https://www.php.net/manual/en/imagickdraw.pathcurvetosmoothrelative.php