我在 Snow Leopard 上使用 RMagick 2.12.2 和 ImageMagick 6.5.6-10。我正在尝试在一组照片上添加标题,并且我正在使标题正常工作(即它出现在图像上),但我无法让重力参数正常工作。
无论我将其设置为什么,我最终都会对 NorthGravity 产生一些变化。
例如:将其设置为 SouthWestGravity 会给我 NorthWestGravity。将其设置为 SouthEastGravity 会给我 NorthEastGravity。将其设置为 CenterGravity 会给我 NorthGravity。
换句话说,我无法让标题从图像顶部掉下来。
我会考虑使用“注释”,但我需要“标题”,这样每个图像的冗长标题文本就会换行。
我究竟做错了什么?
这是代码:
#!/usr/bin/env ruby
require "rubygems"
require "yaml"
require "RMagick"
include Magick
base_dir = "/Users/mike/Desktop/caption_test"
photo_log = File.open("#{base_dir}/photo_log.yaml" )
YAML::load_documents(photo_log) do |doc|
caption = doc["photo-caption"]
filename = doc["file"]
canvas = ImageList.new.from_blob(open("#{base_dir}/#{filename}") { |f| f.read } )
canvas << Magick::Image.read("caption:#{caption}") {
self.gravity = SouthWestGravity
self.size = "#{canvas.first.columns}"
self.font = "Helvetica Neue"
self.pointsize = 12
self.background_color = "#fff"
}.first
canvas.flatten_images.write("#{base_dir}/images/#{filename}")
end