Chúng tôi đang cố gắng áp dụng lớp phủ trên một loạt hình ảnh trước khi hợp nhất chúng thành một. Ngay bây giờ có vẻ như imagemagick đang chuyển đổi hình ảnh thành màu được áp dụng thay vì áp dụng lớp phủ. Các tài liệu không rõ ràng về những gì chúng ta nên làm khác đi. Tôi đánh giá cao nếu bạn có bất kỳ thông tin chi tiết về điều này. Mã sau:Lớp phủ màu với độ mờ sử dụng ImageMagick trong Rails
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
Đó không làm việc thân nhưng cảm ơn bạn tôi đã thử nó. Nó chỉ là imagemagick có tài liệu sôi nổi như vậy ... soooo viết nhiều ... –