File: shadow.rb

package info (click to toggle)
ruby-rmagick 6.0.1-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 8,232 kB
  • sloc: cpp: 19,563; ruby: 17,147; sh: 88; javascript: 36; makefile: 13
file content (22 lines) | stat: -rw-r--r-- 600 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
require 'rmagick'

# Draw a big red Bezier curve on a transparent background.
img = Magick::Image.new(340, 120) { |info| info.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)

img.write('shadow_before.png')

# Create the shadow.
shadow = img.shadow(-5, -5)

image_list = Magick::ImageList.new
image_list.new_image(img.columns, img.rows, Magick::SolidFill.new('white'))
image_list << shadow
image_list << img
image_list.flatten_images.write('shadow_after.png')