Method: Vips::Image#composite

Defined in:
lib/vips/image.rb

#composite(overlay, mode, **opts) ⇒ Image

Composite a set of images with a set of blend modes.

Parameters:

  • overlay (Image, Array<Image>)

    images to composite

  • mode (BlendMode, Array<BlendMode>)

    blend modes to use

  • opts (Hash)

    Set of options

Options Hash (**opts):

  • :x (Array<Integer>)

    x positions of overlay

  • :y (Array<Integer>)

    y positions of overlay

  • :compositing_space (Vips::Interpretation)

    Composite images in this colour space

  • :premultiplied (Boolean)

    Images have premultiplied alpha

Returns:

  • (Image)

    blended image



1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
# File 'lib/vips/image.rb', line 1338

def composite overlay, mode, **opts
  unless overlay.is_a? Array
    overlay = [overlay]
  end
  unless mode.is_a? Array
    mode = [mode]
  end

  mode = mode.map do |x|
    GObject::GValue.enum_from_nick Vips::BLEND_MODE_TYPE, x
  end

  Vips::Image.composite([self] + overlay, mode, **opts)
end