论坛首页 编程语言技术论坛

使用RMagick制作特效

浏览 3286 次
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (13)
作者 正文
   发表时间:2009-12-29   最后修改:2009-12-29

首先,我们需要用到RMagick。

 

require 'RMagick'

 

接着,看一下具体实现。

 

    Rows = 60
    Cols = 250
    Text = 'Ruby rocks!'
    anim = Magick::ImageList.new
    ex = Magick::Image.new(Cols, Rows)
    text = Magick::Draw.new
    text.gravity = Magick::CenterGravity
    text.pointsize = 36
    text.font_weight = Magick::BoldWeight
    text.font_style = Magick::ItalicStyle
    text.stroke = 'transparent'
    text.annotate(ex, 0, 0, 2, 2, Text) {
      self.fill = 'gray60'
    }
    anim << ex.copy
    ex = ex.blur_image(0, 3)
    anim << ex.copy
    text.annotate(ex, 0, 0, -1, -1, Text) {
      self.fill = 'maroon'
    }
    anim << ex.copy
    anim.delay = 100
    anim.cur_image.delay = 300
    anim.iterations = 0
    anim.write('shadow.gif')
    exit

 

示例效果:

 

   发表时间:2010-01-11  
试过中文么?
比如 Text=‘中文123’的中文数字混编形式 ?
0 请登录后投票
   发表时间:2010-01-11  
LS你为什么不自己试试? 你需要用UTF8的字符串
0 请登录后投票
   发表时间:2010-01-14  
我试过了。。。用的utf8的。。我想问问有没有试验成功的?能否告诉我一下怎么弄
0 请登录后投票
   发表时间:2010-01-14  
有些true type字体对utf-8不支持,你用的那种字体? 可以用M$自带的黑体试试
0 请登录后投票
   发表时间:2010-01-15  
试过好几个字体了。。。纯中文的字符串是没问题,只要是中文+数字或者字母的就乱码
如“中文”
这个是没问题的
如“中文123”
这个就是“?????123”
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics