我正在尝试在生成的图像上包含条件偏移到文本的重心。我做了一些阅读,显然我可以使用
以下是代码:
<?php
function process($inputdata)
{
$width = 400;
$height = 300;
$textBackground = new ImagickPixel('transparent');
$textColor = new ImagickPixel('#FFF');
$gradient = new Imagick();
//gradient:angle=angle in degrees
$gradient->newPseudoImage($width, $height, 'gradient:#3a7bd5-#3a6073');
$image = new Imagick();
$image->newImage($width, $height, $textBackground);
$gradient->setImageColorspace($image->getImageColorspace());
$draw = new ImagickDraw();
$draw->setFillColor($textColor);
$draw->setFontSize( 25 );
$draw->setGravity(Imagick::GRAVITY_CENTER );
//$draw->setGeometry(Imagick::Geometry +20 +20); --New code that doesn't work
$image->annotateImage($draw, 0, 0, 0, $inputdata);
$gradient->compositeImage($image, Imagick::COMPOSITE_OVER, 0, 0);
$gradient->setImageFormat('png');
header('Content-type: image/png');
echo $gradient;
return;
}
?>
这是我尝试使用的代码:
$draw->setGravity(Imagick::GRAVITY_CENTER );
$draw->setGeometry(Imagick::Geometry +20 +20);
理论上应该从重力中心偏移文本,但是当我尝试它时会停止生成图像。我想我犯了一个错误,因为我能找到的唯一示例代码是命令行,而不是PHP接口。
答案 0 :(得分:1)
没有与-geometry相当的东西。您可以使用compositeImage中的偏移来移动图像。但你需要先设定重力。