ImagickDraw::pushPattern

(PECL imagick 2.0.0)

ImagickDraw::pushPatternIndica que los comandos subsiguientes hasta un comando ImagickDraw::opPattern() comprenden la definición de un patrón nominado

Descripción

ImagickDraw::pushPattern ( string $pattern_id , float $x , float $y , float $width , float $height ) : bool
Advertencia

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

Indica que los comandos subsiguientes hasta un comando DrawPopPattern() comprenden la definición de un patrón nominado. Al espacio del patrón se le asigna las coordenadas de la esquina superior izquierda, un ancho y alto, y se convierte en su propio espacio de dibujo. Cualquier cosa que se pueda dibujar se puede usar en una definición de patrón. Los patrones nominados se pueden usar como definiciones de contorno o pincel.

Parámetros

pattern_id

el id del patrón

x

coordenada x de la esquina superior izquierda

y

coordenada y de la esquina superior izquierda

width

ancho del patrón

height

alto del patrón

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 ImagickDraw::pushPattern()

<?php
function pushPattern($strokeColor$fillColor$backgroundColor) {
    
$draw = new \ImagickDraw();

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

    
$draw->setStrokeWidth(1);

    
$draw->pushPattern("MyFirstPattern"005050);
    for (
$x 0$x 50$x += 10) {
        for (
$y 0$y 50$y += 5) {
            
$positionX $x + (($y 5) % 5);
            
$draw->rectangle($positionX$y$positionX 5$y 5);
        }
    }
    
$draw->popPattern();

    
$draw->setFillOpacity(0);
    
$draw->rectangle(100100400400);
    
$draw->setFillOpacity(1);

    
$draw->setFillOpacity(1);

    
$draw->push();
    
$draw->setFillPatternURL('#MyFirstPattern');
    
$draw->setFillColor('yellow');
    
$draw->rectangle(100100400400);
    
$draw->pop();

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

    
$imagick->drawImage($draw);

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

?>