Imagemagick 将imagettftext GD修改为Imagick

Imagemagick 将imagettftext GD修改为Imagick,imagemagick,imagick,Imagemagick,Imagick,我们有一个向图像中添加文本的文件 我们需要将代码从GD转换为Imagick,因为我们需要添加样式和其他功能,而imagettftext不能这样做 是否有人可以将下面的代码转换为通过Imagick而不是使用imagettftext添加文本 $txt = imagettfbbox($fontsize ,0,$font,$str_l1) ; $x_img = abs($txt[2] - $txt[0]) + 15; $y_img = abs($txt[7] - $txt[1]) ; $im_img

我们有一个向图像中添加文本的文件

我们需要将代码从GD转换为Imagick,因为我们需要添加样式和其他功能,而imagettftext不能这样做

是否有人可以将下面的代码转换为通过Imagick而不是使用imagettftext添加文本

$txt = imagettfbbox($fontsize ,0,$font,$str_l1) ;
$x_img = abs($txt[2] - $txt[0]) + 15;
$y_img = abs($txt[7] - $txt[1]) ;

$im_img = imagecreate($x_img, $y_img + 4);
$bg = imagecolorallocate($im_img, 229,229,229); 
imagecolortransparent($im_img, $bg); 
imagettftext($im_img, $fontsize, 0, abs($txt[0]) , abs($txt[5]) , $textcolor, $font, $str_l1);

我无法将您的命令转换为Imagick,但我可以向您展示一个简单的示例,它使用Imagemagick中的-annotate向图像添加文本的大部分功能。还有其他向图像添加文本的方法

见:

有关Imagick等效项,请参见:

输入:




我无法将您的命令转换为Imagick,但我可以向您展示一个简单的示例,它使用Imagemagick中的-annotate向图像添加文本的大部分功能。还有其他向图像添加文本的方法

见:

有关Imagick等效项,请参见:

输入:



是否有人可以将下面的代码转换为通过Imagick而不是使用imagettftext添加文本

$txt = imagettfbbox($fontsize ,0,$font,$str_l1) ;
$x_img = abs($txt[2] - $txt[0]) + 15;
$y_img = abs($txt[7] - $txt[1]) ;

$im_img = imagecreate($x_img, $y_img + 4);
$bg = imagecolorallocate($im_img, 229,229,229); 
imagecolortransparent($im_img, $bg); 
imagettftext($im_img, $fontsize, 0, abs($txt[0]) , abs($txt[5]) , $textcolor, $font, $str_l1);
不是真的。我们可以在您遇到问题时提供帮助,提供示例和/或为您提供正确的文档。您仍然需要负责移植代码以满足业务需求

正如@fmw42正确指出的那样,您的任务有大量的例子。使用创建图形上下文以管理样式,然后将其注释到图像中

/**
*创建图形上下文以控制样式。
*/
$text=new ImagickDraw();
$text->setFont('Chalkduster');
$text->setFontSize(32);
$text->setFillColor(“橙色”);
$text->setGravity(Imagick::GRAVITY_SOUTH);
/**
*应用于图像。
*/
$image=newimagick(“向导:”);
$image->annotateImage($text,0,0,0,“helloworld!”);
/**
*保存到磁盘。
*/
$image->writeImage('output.png');

是否有人可以将下面的代码转换为通过Imagick而不是使用imagettftext添加文本

$txt = imagettfbbox($fontsize ,0,$font,$str_l1) ;
$x_img = abs($txt[2] - $txt[0]) + 15;
$y_img = abs($txt[7] - $txt[1]) ;

$im_img = imagecreate($x_img, $y_img + 4);
$bg = imagecolorallocate($im_img, 229,229,229); 
imagecolortransparent($im_img, $bg); 
imagettftext($im_img, $fontsize, 0, abs($txt[0]) , abs($txt[5]) , $textcolor, $font, $str_l1);
不是真的。我们可以在您遇到问题时提供帮助,提供示例和/或为您提供正确的文档。您仍然需要负责移植代码以满足业务需求

正如@fmw42正确指出的那样,您的任务有大量的例子。使用创建图形上下文以管理样式,然后将其注释到图像中

/**
*创建图形上下文以控制样式。
*/
$text=new ImagickDraw();
$text->setFont('Chalkduster');
$text->setFontSize(32);
$text->setFillColor(“橙色”);
$text->setGravity(Imagick::GRAVITY_SOUTH);
/**
*应用于图像。
*/
$image=newimagick(“向导:”);
$image->annotateImage($text,0,0,0,“helloworld!”);
/**
*保存到磁盘。
*/
$image->writeImage('output.png');

@emcconville
感谢您将我的ImageMagick代码转换为Imagick。
@emcconville
感谢您将我的ImageMagick代码转换为Imagick。