1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
--TEST--
Test ImagickDraw, getTextDirection
--SKIPIF--
<?php
die('skip test fails with php7.4 on debian-ish systems');
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('ImagickDraw', array('getTextDirection', 'setTextDirection'));
?>
--FILE--
<?php
require_once(dirname(__FILE__) . '/functions.inc');
$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';
$draw = new \ImagickDraw();
setFontForImagickDraw($draw);
$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->setStrokeWidth(2);
$draw->setFontSize(56);
$directions = array(
\Imagick::DIRECTION_LEFT_TO_RIGHT,
\Imagick::DIRECTION_RIGHT_TO_LEFT,
\Imagick::DIRECTION_LEFT_TO_RIGHT,
);
$i = 0;
foreach ($directions as $directionToSet) {
$draw->setTextDirection($directionToSet);
$directionReturned = $draw->getTextDirection();
if ($directionReturned != $directionToSet) {
echo "Direction error for $i \n";
}
$position = 36;
if ($directionToSet == \Imagick::DIRECTION_RIGHT_TO_LEFT) {
$position = 500 - 36;
}
$draw->annotation($position, (72 * $i) + 64, "Lorem Ipsum!");
$i++;
}
$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.";}
$imagick->writeImage(__DIR__ . '/directionTest.png');
echo "Ok";
?>
--CLEAN--
<?php
$f = __DIR__ . '/directionTest.png';
if (file_exists($f)) {
unlink($f);
}
?>
--EXPECTF--
Ok
|