ImagickDraw
PHP Manual

ImagickDraw::bezier

(PECL imagick 2.0.0)

ImagickDraw::bezierDessine une courbe de Bézier

Description

bool ImagickDraw::bezier ( array $coordinates )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Dessine une courbe de Bézier, à l'ait d'une série de point de contrôle.

Liste de paramètres

coordinates

Tableau multidimensionnel tel que array( array( 'x' => 1, 'y' => 2 ), array( 'x' => 3, 'y' => 4 ) )

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec ImagickDraw::bezier()

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

    
$draw = new \ImagickDraw();

    
$strokeColor = new \ImagickPixel($strokeColor);
    
$fillColor = new \ImagickPixel($fillColor);

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

    
$draw->setStrokeWidth(2);

    
$smoothPointsSet = [
        [
            [
'x' => 10.0 5'y' => 10.0 5],
            [
'x' => 30.0 5'y' => 90.0 5],
            [
'x' => 25.0 5'y' => 10.0 5],
            [
'x' => 50.0 5'y' => 50.0 5],
        ], 
        [
            [
'x' => 50.0 5'y' => 50.0 5],
            [
'x' => 75.0 5'y' => 90.0 5],
            [
'x' => 70.0 5'y' => 10.0 5],
            [
'x' => 90.0 5'y' => 40.0 5],
        ],
    ];

    foreach (
$smoothPointsSet as $points) {
        
$draw->bezier($points);
    }

    
$disjointPoints = [
        [
            [
'x' => 10 5'y' => 10 5], 
            [
'x' => 30 5'y' => 90 5], 
            [
'x' => 25 5'y' => 10 5],
            [
'x' => 50 5'y' => 50 5],
        ],
        [
            [
'x' => 50 5'y' => 50 5], 
            [
'x' => 80 5'y' => 50 5],
            [
'x' => 70 5'y' => 10 5],
            [
'x' => 90 5'y' => 40 5],
         ]
    ];
    
$draw->translate(0200);

    foreach (
$disjointPoints as $points) {
        
$draw->bezier($points);
    }

    
//Création d'un objet image dans lequel on appliquera les commandes de dessin
    
$imagick = new \Imagick();
    
$imagick->newImage(500500$backgroundColor);
    
$imagick->setImageFormat("png");

    
//On applique les commandes de dessin à l'objet ImagickDraw 
    //et dans l'image.
    
$imagick->drawImage($draw);

    
//On envoie l'image au navigateur
    
header("Content-Type: image/png");
    echo 
$imagick->getImageBlob();
}

?>


ImagickDraw
PHP Manual