首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在PHP Imagick API中使用Pango

在PHP Imagick API中使用Pango
EN

Stack Overflow用户
提问于 2015-05-18 09:41:01
回答 3查看 1.4K关注 0票数 3

我想使用Imagick API for PHP,而不是在PHP代码中运行命令行。

代码语言:javascript
复制
exec("convert -gravity Center -size 200x200 -fill black -font Arial -pointsize 20 pango:\"Hello World!\" output.png");

对于上面的命令,我有以下Imagick API代码:

代码语言:javascript
复制
<?php
$img = new Imagick();
$draw = new ImagickDraw();
$draw->setFont("Arial");
$draw->setFontSize(20);
$draw->setGravity( Imagick::GRAVITY_CENTER );
$img->newImage( 200, 200, "black", "png" );

//Pango code for Hello World!

$img->writeImage("output.png");
?>

但我无法为Pango找到相同的方法/选项。你知道如何在Imagick API中使用Pango吗?

EN

回答 3

Stack Overflow用户

发布于 2016-04-04 19:36:20

只是通过添加背景颜色来改进Aite的答案。

代码语言:javascript
复制
$img = new Imagick();
$img->setBackgroundColor(new ImagickPixel('black'));
$img->setFont("Arial");
$img->setPointSize(20);
$img->setGravity( Imagick::GRAVITY_CENTER );
$img->setImageFormat('jpg');

//Pango code for Hello World!
$img->newPseudoImage(200, 200, "pango:Hello World");

$img->writeImage("output.png");
票数 3
EN

Stack Overflow用户

发布于 2015-05-18 15:27:09

在ImageMagick中,pango:\"Hello World!\“部分是”文件的名称“。这意味着您应该调用readImage来“读取”pango图像:

代码语言:javascript
复制
$img->readImage("pango:\"Hello World!\"");

只有当ImageMagick编译时支持pango时,这才能起作用。

票数 2
EN

Stack Overflow用户

发布于 2015-06-11 16:54:26

首先,您不需要Imagick对象,您只需要将您的选项设置为ImagickDraw对象,然后创建/调用新的伪图像(带有pango:前缀),而不是常规的新图像方法:

代码语言:javascript
复制
$img = new Imagick();
$img->setFont("Arial");
$img->setPointSize(20);
$img->setGravity( Imagick::GRAVITY_CENTER );
$img->setImageFormat('jpg');

//Pango code for Hello World!
$img->newPseudoImage(200, 200, "pango:Hello World");

$img->writeImage("output.png");

很抱歉,我不知道如何设置填充颜色,但这是另一个问题,你可能知道如何解决它。

附注:你需要确保你已经安装了pango,并且imagemagick库是用pango支持构建的(这是为你准备的,因为你可以使用命令行)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30293973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档