Sha256: 18bf4aafc35a3388a3b6af701bafaf8835a82dcb21b49d5c20633a1201d8138d

Contents?: true

Size: 1.21 KB

Versions: 15

Compression:

Stored size: 1.21 KB

Contents

#!/usr/bin/env ruby -w

require 'rmagick'

# This example demonstrates the mask attribute. The mask image must
# be the same size as the image being masked. Since this mask image does
# not have an alpha channel, the intensity of each pixel is used to define the
# mask. White pixels are more intense than black pixels, so the area of the
# image masked by white pixels will remain unchanged, while the area of the
# image masked by black pixels is affected by any transformations.

# In this example the mask is simply the words "Flower Hat" in black text
# positioned near the bottom of the white clip mask image.

img = Magick::Image.read('images/Flower_Hat.jpg').first
q = Magick::Image.new(img.columns, img.rows)

gc = Magick::Draw.new
gc.annotate(q, 0, 0, 0, 0, 'Flower Hat') do
  gc.gravity = Magick::SouthGravity
  gc.pointsize = 36
  gc.font_weight = Magick::BoldWeight
end

# Set the matte attribute to false, indicating the absence of an alpha channel
# in the mask image. Assign the mask image to the mask= attribute of the image
# being masked.

q.matte = false
img.mask q

# Use the #level method to darken the image under the black part of the mask.

img = img.level(0, Magick::QuantumRange, 0.50)
img.write('mask.jpg')

Version data entries

15 entries across 15 versions & 3 rubygems

Version Path
rmagick-3.1.0 doc/ex/mask.rb
rmagick-3.0.0 doc/ex/mask.rb
rmagick-windows-2.16.5 doc/ex/mask.rb
rmagick-windows-2.16.4 doc/ex/mask.rb
rmagick-windows-2.16.3 doc/ex/mask.rb
rmagick-windows-2.16.2 doc/ex/mask.rb
rmagick-windows-2.16.1 doc/ex/mask.rb
mdg-1.0.1 vendor/bundle/ruby/2.3.0/gems/rmagick-2.16.0/doc/ex/mask.rb
rmagick-2.16.0 doc/ex/mask.rb
rmagick-2.15.4 doc/ex/mask.rb
rmagick-2.15.3 doc/ex/mask.rb
rmagick-2.15.2 doc/ex/mask.rb
rmagick-2.15.1 doc/ex/mask.rb
rmagick-2.15.0 doc/ex/mask.rb
rmagick-2.14.0 doc/ex/mask.rb