Sha256: 9b4d33002f4a60ebe74ae2b4247683a82a2c27b4e202dd087ba5c777f2b6b73d

Contents?: true

Size: 1.13 KB

Versions: 6

Compression:

Stored size: 1.13 KB

Contents

require 'rmagick'

# Draw a big red Bezier curve on a transparent background.
img = Magick::Image.new(340, 120) { self.background_color = 'none' }
gc = Magick::Draw.new
gc.fill('none')
gc.stroke('red')
gc.stroke_linecap('round')
gc.stroke_width(10)
gc.bezier(20, 60, 20, -90, 320, 210, 320, 60)
gc.draw(img)

# Composite it onto a white background, draw a border around the result,
# write it to the "before" file.
before = img.copy
bg = Magick::Image.new(before.columns, before.rows) { self.background_color = 'white' }
before = bg.composite(before, Magick::CenterGravity, Magick::OverCompositeOp)
before.border!(1, 1, 'gray80')
before.write('shadow_before.gif')

# Create the shadow.
shadow = img.shadow
# Composite the original image over the shadow, composite the result
# onto a white background, add a border, write it to the "after" file.
shadow = shadow.composite(img, Magick::NorthWestGravity, Magick::OverCompositeOp)
bg = Magick::Image.new(shadow.columns, shadow.rows) { self.background_color = 'white' }
after = bg.composite(shadow, Magick::CenterGravity, Magick::OverCompositeOp)
after.border!(1, 1, 'gray80')

after.write('shadow_after.gif')

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
rmagick-4.1.0.rc2 doc/ex/shadow.rb
rmagick-4.1.0.rc1 doc/ex/shadow.rb
rmagick-4.0.0 doc/ex/shadow.rb
rmagick-3.2.0 doc/ex/shadow.rb
rmagick-3.1.0 doc/ex/shadow.rb
rmagick-3.0.0 doc/ex/shadow.rb