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

ruby中rmgaick给图片加版权信息和水印(中文水印)

浏览 9189 次
精华帖 (0) :: 良好帖 (9) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-07-30  

根据imagemagick和一些网站的资料,总结了常用的加水印(特别是中文)的代码。

require 'rubygems'
require 'RMagick'

#在图片中嵌入中文文字

ruby 代码
  1. def   t1   
  2.   
  3. img=Magick::Image.read('path\read_image1.jpg').first    #图片路径,用相对路径即可,相对于public来说的         
  4.      my_text="\251 这是黑马的标致"        
  5.     copyright=Magick::Draw.new  
  6.     copyright.annotate(img,0,0,3,18,my_text) do  #可设字的位置   
  7.       self.gravity = Magick::CenterGravity   
  8.       self.font='public\images\simsun.ttc'  #这地方必须使用中文字库,才能打中文到图片上。在windows中c:\windows\fonts\simsun.ttc拷到项目的public\images目录下就可以随着项目使用了。另外注意:笔者是使用utf-8字符集来编辑源文件的,如果你不是,请在程序中对汉字转换编码为utf-8
  9.       self.pointsize=96  #字体大小   
  10.       self.font_weight=Magick::BoldWeight   
  11.       self.fill='red'                    #字的颜色   
  12.       self.gravity=Magick::SouthEastGravity   
  13.       self.stroke = "none"  
  14.     end  
  15.      img=img.raise  #浮雕效果          
  16.     img.write('path\img')   
  17.   
  18. end  

#加图片和中文水印文字

ruby 代码
  1.  def test_photo   
  2.     
  3.    img=Magick::Image.read('public\photo\big_image\1\1119218437.jpg').first   
  4.    img2=Magick::Image.read('public\photo\big_image\2\DSCN4991-thumb.jpg').first #版权图片   
  5.    my_text="\251 黑马的标致"  
  6.    img.composite!(img2, -0,-0, Magick::CopyCompositeOp) #图片叠加 ,CopyCompositeOp是composite的运算之一,还有很多运算方法,实现各种效果,可以在官网找到 http://www.imagemagick.org/RMagick/doc/constants.html#CompositeOperator
  7.   copyright=Magick::Draw.new  
  8.   copyright.annotate(img,0,0,3,18,my_text) do  #可设字的位置   
  9.     self.gravity = Magick::CenterGravity   
  10.     self.font='public\images\simsun.ttc'     
  11.     self.pointsize=96  #字体大小   
  12.     self.font_weight=Magick::BoldWeight   
  13.     self.fill='red'                    #字的颜色   
  14.     self.gravity=Magick::SouthEastGravity   
  15.     self.stroke = "none"  
  16.   end  
  17.    img=img.raise  #浮雕效果   
  18.    mark.rotate!(-90)  #可旋转
  19.   img = img.watermark(mark, 0.15, 0, Magick::EastGravity)  #0.15是透明度 
  20.   img.write('public\photo\big_image\1\1119218437-image1_bak.jpg')   
  21. end  
   发表时间:2007-07-31  
RMagick到现在我还没装成功呢,楼主有没有配置文档?
0 请登录后投票
   发表时间:2007-08-01  
你是在哪个系统下安装?windows下只要下载封装好的软件包就行了,
http://rubyforge.org/projects/rmagick
下载安装,重启就行了。
http://www.iteye.com/43228
这是linux下安装的方法。具体过程我没有,因为安装也不是很复杂。熟悉linux的应该能搞定,如果你安装有问题可以把问题贴出来。
0 请登录后投票
   发表时间:2007-08-01  
wtb 写道
你是在哪个系统下安装?windows下只要下载封装好的软件包就行了,
http://rubyforge.org/projects/rmagick
下载安装,重启就行了。
http://www.iteye.com/43228
这是linux下安装的方法。具体过程我没有,因为安装也不是很复杂。熟悉linux的应该能搞定,如果你安装有问题可以把问题贴出来。


贴过一次,被评为灌水贴,无人回答,哈哈
0 请登录后投票
   发表时间:2007-08-01  
呵呵,被评为灌水贴正常不过了```
偶也被评了好多了哈```
所以我基本上不在javaeye混了,只是看看别人的帖子而已。
0 请登录后投票
   发表时间:2007-08-24  
同感,搞得自己现在发帖,回复都好郁闷!
0 请登录后投票
论坛首页 编程语言技术版

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