作者xuitejoke (xxddite)
看板Ruby
标题Re: [Gem ] RMagick 2.0 绘制中文
时间Thu Jan 10 21:28:19 2008
※ 引述《godfat (godfat 真常)》之铭言:
: 看了上篇的写中文在图片上...
不用 2.0 也可以绘中文,不过 2.0 之前的版本疑似对某些 ttf 有支援上的问题。
: 心想超级强大的 rmagick 应该没有做不到的事(?)
: 所以就翻了翻 rmagick 网站用 irb 试着绘出中文:
: require 'rubygems'
: require 'rmagick'
: img = Magick::ImageList.new 'spiritual_soul.jpg'
: => [spiritual_soul.jpg JPEG 56x57 56x57+0+0 DirectClass 8-bit 6kb]
: 这个 ImageList 可以一次开多张图片,大概可以拿来串 gif 动画吧
: 这边就暂时只开一张,测试绘制中文即可,有兴趣再去翻翻手册吧:
: http://studio.imagemagick.org/RMagick/doc/
: draw = Magick::Draw.new
: draw.font = '/System/Library/Fonts/俪黑 Pro.ttf'
: 伟大的俪黑体...
: draw.fill = 'black'
: draw.annotate img, 0, 0, 20, 20, '测试'
http://d.hatena.ne.jp/sesejun/20061210/p1
预设是 center
(光找这一篇我花了三小时)
贴一段 veryxd controller code 在这里
text.annotate(clown,@textset.width,@textset.height,@textset.x1,@textset.y1,@textset.font_subtext)
{
self.gravity = Magick::NorthWestGravity
self.font='******/******/'+font_type
self.pointsize = font_size
self.stroke = 'transparent'
self.fill = font_color
self.font_weight = Magick::BoldWeight
}
我是这样做的,对照 VeryXD 的座标 应该可以解答你参数上的问题
作这个网站,其实我 google 的时间比实际下去写花的时间多很多。
因为诡异的地方太多了....XDD
: 他这四个数字的参数,我搞不太懂是什麽意思,
: 应该也跟他的座标系统有关(例如,置中版、靠左版、一大堆...)
: 这边 annotate 也可以吃 block, 在里面可以呼叫 self.fill = 'black',
: 我猜大概就是作成 temp 这样吧?如果需要重复利用这个 draw 的话才有差
: 接着把图片写入 filesystem:
: img.write '测试中文.jpg'
--
什麽都破,什麽都烂,什麽都不奇怪。
http://blog.xdite.net
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 125.232.147.249
※ 编辑: xuitejoke 来自: 125.232.147.249 (01/10 21:31)
1F:推 godfat:正常 @_@b 工具不够熟悉,通常就是疯狂找资料 ~"~ 01/10 21:34
2F:→ godfat:所以说实在我比较喜欢写 lib... 01/10 21:35
3F:→ xuitejoke:不是,因为 rails 太多例外了,搞到我快要疯掉... 01/10 21:39
4F:→ godfat:rails 也是工具啊 :) 01/10 21:44
5F:推 gasolin:觉得搞 book/books 这样的 convention 根本是DHH的恶趣味 01/11 01:55
6F:→ godfat:我自己之前也曾用过类似的名称对照,不过没搞到那麽彻底 01/11 07:36
7F:→ godfat:而且後来还是觉得改名为 book/book_list 比较不会搞错 @@ 01/11 07:37