【问题标题】:Combine remote images to one image using ruby-vips使用 ruby​​-vips 将远程图像合并为一张图像
【发布时间】:2019-04-03 17:01:09
【问题描述】:

我有一个模板图像,需要在 X 、 Y 位置附加特定图像。 rmagick中是否有与该功能等效的功能

ImageList.new("https://365psd.com/images/istock/previews/8479/84796157-football-field-template-with-goal-on-top-view.jpg")

并在其他图像上绘制并生成一张图像。

【问题讨论】:

    标签: ruby image-processing rmagick vips


    【解决方案1】:

    ruby-vips 不支持直接从 URI 加载,因此您需要使用其他一些 gem 来获取图像。例如:

    require 'open-uri'
    require 'vips'
    
    def new_from_uri(uri, options = {})
      bytes = open(uri) {|f| f.read}
      Vips::Image.new_from_buffer bytes, "", options
    end
    
    a = new_from_uri "https://upload.wikimedia.org/wikipedia/commons/a/a6/Big_Ben_Clock_Face.jpg"
    b = new_from_uri "https://upload.wikimedia.org/wikipedia/commons/4/47/PNG_transparency_demonstration_1.png"
    out = a.composite b, "over", x: 100, y: 100
    out.write_to_file "x.jpg"
    

    制作:

    【讨论】:

    • 考虑使用open-uri的块形式,否则不会立即关闭连接。 open(url, &:read)
    猜你喜欢
    • 1970-01-01
    • 2016-08-26
    • 2013-07-18
    • 2022-07-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多