第36个标记 » RMagick 2和ImageMagick不能正确显示图片的解决方案

喜马拉雅的天空

RMagick 2和ImageMagick不能正确显示图片的解决方案

Confach 发表于 June 26, 2008 3:18 pm

版权信息 :严禁转载, 若想推荐或收藏,请用链接的形式.

网址:http://www.36sign.com/blog/working/rmagick-imagemagick-cant-display-image.html

背景

将ImageMagick和RMagick都升级了。ImageMagick版本为6.4.1,RMagick为2.5.1。

在生成带有文字的图片时要么是空白要么是一团黑。

分析

不能正确显示图片,有很多方面的原因。这里最有可能的原因是填充的颜色不对。例如填充颜色为白色,那么会出现空白。若是将填充颜色设置为黑色,那就是一团黑了。为什么会出现这种情况?先从一下日志说起:

RMagick: delegate library support not built-in `/usr/local/share/ghostscript/fonts/n019003l.pfb’ (Freetype).

如果出现这种情况,说明文字的字体找不见,既然都无法正确显示文字,那么就由其填充色来代替。

解决

最新的ImageMagick看起来需要如下几个库:

  • freetype ,强烈建议把dev版本也装上
  • jpeg库
  • tiff
  • ghostscript
  • zlib

为了看看有哪些字体安装了,使用如下命令:

  convert -list font

返回结果可能为:

Font: Palatino-Roman
  family: Palatino
  style: Normal
  stretch: Normal
  weight: 400
Font: Symbol
  family: Symbol
  style: Normal
  stretch: Normal
  weight: 400
Font: Times-Bold
  family: Times
  style: Normal
  stretch: Normal
  weight: 700
Font: Times-BoldItalic
  family: Times
  style: Italic
  stretch: Normal
  weight: 700
Font: Times-Italic
  family: Times
  style: Italic
  stretch: Normal
  weight: 400
Font: Times-Roman
  family: Times
  style: Normal
  stretch: Normal
  weight: 400

返回的结果都是已经安装的字体。如果没有结果说明没有安装。在使用过程中,必须使用安装的字体。

也许你安装之后还是会出现以上错误。如果碰到这种情况,需要手工将字体copy到提示的目录下。例如`/usr/local/share/ghostscript/fonts。那么字体一般放在什么地方呢?一般放在

/usr/share/fonts

 

更多文章参看:

  1. 在Debian上部署Rails Apache+fcgi(或FastCgi)

  2. “Premature end of script headers: dispatch.fcgi”终极解决方案



1个评论 »

1.   第36个标记 » 谈解决方案 发表于 June 26,2008

[…] RMagick 2和ImageMagick不能正确显示图片的解决方案 […]

本文评论的RSS · TrackBack URI

发表评论