#!/usr/bin/ruby -w
require 'RMagick'
pr = Magick::Draw.new
# Outline the image
pr.stroke('lavender')
pr.fill_opacity(0)
pr.stroke_width(1)
pr.rectangle(0,0,249,199)
# Define a clip-path.
pr.define_clip_path('example') { # The name of the clip-path is "example"
pr.polygon(125,37.5, 139.5,80.5, 184.5,80.5, 148.5,107.5,
161.5,150.5, 125,125, 88.5,150.5, 101.5,107.5,
65.5,80.5, 110.5,80.5)
} # End the clip-path definition
pr.clip_path('example') # Enable the clip-path
# Composite the Balloon Girl image over
# the background using the clip-path
bg = Magick::ImageList.new "images/Balloon_Girl.jpg"
pr.composite(0,0, 250,200, bg)
# Just for illustration, outline the clip-path in blue.
pr.stroke('blue')
pr.stroke_width(2)
pr.fill_opacity(0)
pr.polygon(125,37.5, 139.5,80.5, 184.5,80.5, 148.5,107.5,
161.5,150.5, 125,125, 88.5,150.5, 101.5,107.5,
65.5,80.5, 110.5,80.5)
# Create a canvas to draw on
img = Magick::ImageList.new
img.new_image(250,200) { self.background_color = 'transparent' }
# Execute the primitives
pr.draw(img)
#img.display
img.write("clip_path.gif")
exit