一連の画像にオーバーレイを適用してから1つにマージするようにしています。今のところ、ImageMagickはオーバーレイを適用する代わりに適用された色にイメージを変換しているようです。私たちがどうやって何をすべきかについてのドキュメントはあまり明確ではありません。あなたはこれについて何か洞察を持っているなら、私は感謝します。コードは次のとおりです。RailsでImageMagickを使用した不透明度のオーバーレイカラー
def self.concatenate_images (source, image)
height = FastImage.size(image.url)[0]
width = FastImage.size(image.url)[1]
source = source.first
source = source.resize_to_fill(height, width).quantize(256, Magick::GRAYColorspace).contrast(true)
User.color_variant.each_slice(3).with_index do |slice,variant_index|
slice.each_with_index do |color,color_index|
colored = Magick::Image.new(height, width) { self.background_color = color.keys[0]}
colored.composite!(source.negate, 0, 0, Magick::CopyOpacityCompositeOp)
colored.write("#{User.get_img_path}#{color.values[0]}.png")
if variant_index == 2 && color_index == 0
system "convert #{User.get_img_path}#{slice[0].values[0]}.png #{image.url} +append #{User.get_img_path}#{slice[0].values[0]}.png"
end
if color_index!=0 && variant_index != 3
system "convert #{User.get_img_path}#{slice[0].values[0]}.png #{User.get_img_path}#{slice[color_index].values[0]}.png +append #{User.get_img_path}#{slice[0].values[0]}.png"
end
end
end
。それはちょうどimagemagickはそのような泡立たせたドキュメントを持っています... soooo多くの文章を書く... –