Sha256: 24b8774841d43cdf51de503914abb48da90651566dc7bdda5c3737461f3e48d7
Contents?: true
Size: 1.4 KB
Versions: 6
Compression:
Stored size: 1.4 KB
Contents
#!/usr/bin/env ruby -w require 'rmagick' # Add a drop shadow to a text string. This example # uses a 3-image animation to show each step of the # process Rows = 60 Cols = 250 Text = 'Ruby rocks!' # This imagelist will contain the animation frames anim = Magick::ImageList.new ex = Magick::Image.new(Cols, Rows) # Create a Draw object to draw the text with. Most of the text # attributes are shared between the shadow and the foreground. text = Magick::Draw.new text.gravity = Magick::CenterGravity text.pointsize = 36 text.font_weight = Magick::BoldWeight text.font_style = Magick::ItalicStyle text.stroke = 'transparent' # Draw the shadow text first. The color is a very light gray. # Position the text to the right and down. text.annotate(ex, 0, 0, 2, 2, Text) do self.fill = 'gray60' end # Save the first frame of the animation. anim << ex.copy # Blur the shadow. Save a copy of the image as the 2nd frame. ex = ex.blur_image(0, 3) anim << ex.copy # Add the foreground text in solid black. Position it # to the left and up from the shadow text. text.annotate(ex, 0, 0, -1, -1, Text) do self.fill = 'maroon' end # Save yet another copy of the image as the 3rd frame. anim << ex.copy # Set the delay between frames to 1 second. anim.delay = 100 # Set the delay after the last frame to 3 seconds. anim.cur_image.delay = 300 # Iterate forever. anim.iterations = 0 # anim.animate anim.write('drop_shadow.gif') exit
Version data entries
6 entries across 6 versions & 1 rubygems