使用PHP创建动态文本高DPI图像

时间:2015-04-29 02:29:15

标签: image-processing imagemagick gd image-manipulation

我目前使用 PHP GD库

我的目标是创建用于打印600DPI邮票的文本图像。

为了做到这一点,并且由于GD库的限制,我试图将宽度,高度和字体的大小分解,然后调整大小。不幸的是,这没有帮助。

是否可以在GD库中设置生成图像的DPI? 如果没有,还有其他选择吗?

如果在PHP中不可能,请转介给我。

1 个答案:

答案 0 :(得分:0)

我不太确定你想要创建什么样的东西,但是你可能会对ImageMagick有所好转,它可以免费安装在大多数Linux发行版上,也适用于OSX和Windows。

您可以在命令行中使用这样的命令进行游戏,看看它是否能满足您的需求,然后转换为PHP,Perl,Ruby或ImageMagick绑定的任何其他语言。

convert -density 600 -units pixelsperinch                     \
        -size 2500x2000 gradient:red-blue                     \
        -pointsize 14 -font Trattatello                       \
        -gravity southeast                                    \
        -fill black -stroke white -strokewidth 2              \
        -draw "text 25,25 'Go ImageMagick'" image.jpg

enter image description here

使用identify检查我们创建的内容:

  identify -verbose  image.jpg

<强>输出

  Format: JPEG (Joint Photographic Experts Group JFIF format)
  Mime type: image/jpeg
  Class: DirectClass
  Geometry: 2500x2000+0+0
  Resolution: 600x600
  Print size: 4.16667x3.33333
  Units: PixelsPerInch
  Type: TrueColor
  ...
  ...

如果您有更复杂的布局需求,也可以使用Pango或Postscript。有很多例子here