根据imagemagick和一些网站的资料,总结了常用的加水印(特别是中文)的代码
Posted by accesine on 2007-11-29 22:10:16 CST - 0 comments - 0 trackbacks
根据imagemagick和一些网站的资料,总结了常用的加水印(特别是中文)的代码。
require 'rubygems'
require 'RMagick'
#在图片中嵌入中文文字
ruby 代码
def t1
img=Magick::Image.read('path\read_image1.jpg').first #图片路径,用相对路径即可,相对于public来说的
my_text="\251 这是黑马的标致"
copyright=Magick::Draw.new
copyright.annotate(img,0,0,3,18,my_text) do #可设字的位置
self.gravity = Magick::CenterGravity
self.font='public\images\simsun.ttc' #这地方必须使用中文字库,才能打中文到图片上。在windows中c:\windows\fonts\simsun.ttc拷到项目的public\images目录下就可以随着项目使用了。另外注意:笔者是使用utf-8字符集来编辑源文件的,如果你不是,请在程序中对汉字转换编码为utf-8
self.pointsize=96 #字体大小
self.font_weight=Magick::BoldWeight
self.fill='red' #字的颜色
self.gravity=Magick::SouthEastGravity
self.stroke = "none"
end
img=img.raise #浮雕效果
img.write('path\img')
end
#加图片和中文水印文字
ruby 代码
def test_photo
img=Magick::Image.read('public\photo\big_image\1\1119218437.jpg').first
img2=Magick::Image.read('public\photo\big_image\2\DSCN4991-thumb.jpg').first #版权图片
my_text="\251 黑马的标致"
img.composite!(img2, -0,-0, Magick::CopyCompositeOp) #图片叠加 ,CopyCompositeOp是composite的运算之一,还有很多运算方法,实现各种效果,可以在官网找到 http://www.imagemagick.org/RMagick/doc/constants.html#CompositeOperator
copyright=Magick::Draw.new
copyright.annotate(img,0,0,3,18,my_text) do #可设字的位置
self.gravity = Magick::CenterGravity
self.font='public\images\simsun.ttc'
self.pointsize=96 #字体大小
self.font_weight=Magick::BoldWeight
self.fill='red' #字的颜色
self.gravity=Magick::SouthEastGravity
self.stroke = "none"
end
img=img.raise #浮雕效果
mark.rotate!(-90) #可旋转
img = img.watermark(mark, 0.15, 0, Magick::EastGravity) #0.15是透明度
img.write('public\photo\big_image\1\1119218437-image1_bak.jpg')
end
require 'rubygems'
require 'RMagick'
#在图片中嵌入中文文字
ruby 代码
def t1
img=Magick::Image.read('path\read_image1.jpg').first #图片路径,用相对路径即可,相对于public来说的
my_text="\251 这是黑马的标致"
copyright=Magick::Draw.new
copyright.annotate(img,0,0,3,18,my_text) do #可设字的位置
self.gravity = Magick::CenterGravity
self.font='public\images\simsun.ttc' #这地方必须使用中文字库,才能打中文到图片上。在windows中c:\windows\fonts\simsun.ttc拷到项目的public\images目录下就可以随着项目使用了。另外注意:笔者是使用utf-8字符集来编辑源文件的,如果你不是,请在程序中对汉字转换编码为utf-8
self.pointsize=96 #字体大小
self.font_weight=Magick::BoldWeight
self.fill='red' #字的颜色
self.gravity=Magick::SouthEastGravity
self.stroke = "none"
end
img=img.raise #浮雕效果
img.write('path\img')
end
#加图片和中文水印文字
ruby 代码
def test_photo
img=Magick::Image.read('public\photo\big_image\1\1119218437.jpg').first
img2=Magick::Image.read('public\photo\big_image\2\DSCN4991-thumb.jpg').first #版权图片
my_text="\251 黑马的标致"
img.composite!(img2, -0,-0, Magick::CopyCompositeOp) #图片叠加 ,CopyCompositeOp是composite的运算之一,还有很多运算方法,实现各种效果,可以在官网找到 http://www.imagemagick.org/RMagick/doc/constants.html#CompositeOperator
copyright=Magick::Draw.new
copyright.annotate(img,0,0,3,18,my_text) do #可设字的位置
self.gravity = Magick::CenterGravity
self.font='public\images\simsun.ttc'
self.pointsize=96 #字体大小
self.font_weight=Magick::BoldWeight
self.fill='red' #字的颜色
self.gravity=Magick::SouthEastGravity
self.stroke = "none"
end
img=img.raise #浮雕效果
mark.rotate!(-90) #可旋转
img = img.watermark(mark, 0.15, 0, Magick::EastGravity) #0.15是透明度
img.write('public\photo\big_image\1\1119218437-image1_bak.jpg')
end