Snow Leopard で ImageMagick 6.5.6-10 と共に RMagick 2.12.2 を使用しています。写真のコレクションにキャプションを付けようとしています。キャプションは機能します (つまり、画像に表示されます) が、重力パラメーターを正しく機能させることができません。
何を設定しても、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