52 lines
1.4 KiB
PHP
52 lines
1.4 KiB
PHP
--TEST--
|
|
Test ImagickDraw, setClipRule
|
|
--SKIPIF--
|
|
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
|
|
--FILE--
|
|
<?php
|
|
|
|
$backgroundColor = 'rgb(225, 225, 225)';
|
|
$strokeColor = 'rgb(0, 0, 0)';
|
|
$fillColor = 'DodgerBlue2';
|
|
|
|
function setClipRule($strokeColor, $fillColor, $backgroundColor) {
|
|
|
|
$draw = new \ImagickDraw();
|
|
|
|
$draw->setStrokeColor($strokeColor);
|
|
$draw->setFillColor($fillColor);
|
|
$draw->setStrokeOpacity(1);
|
|
$draw->setStrokeWidth(2);
|
|
//\Imagick::FILLRULE_EVENODD
|
|
//\Imagick::FILLRULE_NONZERO
|
|
|
|
$clipPathName = 'testClipPath';
|
|
$draw->pushClipPath($clipPathName);
|
|
$draw->setClipRule(\Imagick::FILLRULE_EVENODD);
|
|
|
|
$draw->rectangle(0, 0, 300, 500);
|
|
$draw->rectangle(200, 0, 500, 500);
|
|
$draw->popClipPath();
|
|
$draw->setClipPath($clipPathName);
|
|
$draw->rectangle(200, 200, 300, 300);
|
|
|
|
$clipRule = $draw->getClipRule();
|
|
if ($clipRule != \Imagick::FILLRULE_EVENODD) {
|
|
echo "Failed to get correct clipRule $clipRule != \Imagick::FILLRULE_EVENODD \n";
|
|
}
|
|
|
|
$imagick = new \Imagick();
|
|
$imagick->newImage(500, 500, $backgroundColor);
|
|
$imagick->setImageFormat("png");
|
|
|
|
$imagick->drawImage($draw);
|
|
|
|
$bytes = $imagick->getImageBlob();
|
|
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
|
|
}
|
|
|
|
setClipRule($strokeColor, $fillColor, $backgroundColor) ;
|
|
echo "Ok";
|
|
?>
|
|
--EXPECTF--
|
|
Ok
|