Sha256: f814fa6745e358ec8a19ceda898a4c144b73f8cb2076193c9a3fe3497778e660
Contents?: true
Size: 1.39 KB
Versions: 13
Compression:
Stored size: 1.39 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
13 entries across 13 versions & 3 rubygems