您将使用什么脚本语言将文本放在生成的图像上?

时间:2010-03-15 08:43:09

标签: scripting image-processing web

我从表弟那里得到了这个问题:

“创建类似工作网站的最佳方式是:http://www.plakletters.nl”。 我已经查看了网站,并认为一开始我将帮助我的堂兄写一个脚本,将系统上安装的所有字体加载到下拉列表中。此下拉列表会将字体值发布回页面,并使用来自文本框的用户输入创建图像。这个图像必须在服务器端创建,我还希望让用户能够(将来)在上传的图像上放置自己的文本,以查看结果在他们自己的图像上的样子。我找到了一些关于如何使用php创建图像的信息,我不知道php是否可以从正在运行的系统输出已安装字体的列表。你会用什么脚本语言来完成这项工作?请记住,我只想从使用脚本语言输出基于用户输入的图像开始。

3 个答案:

答案 0 :(得分:5)

ImageMagick的。这可以从shell或Perl绑定或许多其他语言的绑定调用。见http://www.imagemagick.org/Usage/text/

答案 1 :(得分:2)

如果你使用perl,另一种选择是Imager模块。这往往比ImageMagick / PerlMagick更简单。

添加文字如下:

use Imager;

my $img = Imager->new(file => "foo.jpg") || die Imager->errstr();

my $font = Imager::Font->new(file=>"Arial.ttf");

$img->string(
    x => 50, y => 70,
    string => "Hello, World!",
    font => $font, size => 30,
    aa => 1, color => 'white'
);
$img->write(file => "foo2.jpg");

更多详情here

答案 2 :(得分:2)

嗯,我最喜欢的语言是Python,所以我就是这么用的! :) PIL模块为您提供图像处理功能。

虽然我之前从未使用过PIL,但我将以下几项研究和实验放在一起:

import Image
import ImageDraw

im = Image.open("my_image.png")
draw = ImageDraw.Draw(im)
draw.text((0,0), "my text")
im.save("my_out.png")

正如您可能已经猜到的那样,这只会打开一个PNG文件,在左上角将“我的文本”写入其中并使用新名称保存修改后的图像。我不知道如何获取您正在寻找的字体信息,但期望有一个模块可以帮助解决这个问题。

相关问题