On Sunday 10 June 2007 16:54, Tim Hunter wrote: > <snip> > For that matter, both of these methods can handle arbitrary > rectangles so you can create as many rows as you want and stow them in > the image all at once. You could build the whole image in memory if > that's what you wanted. Though that does give a speed boost, its not much. Here's a mod of the last version of draw_blanket I posted: def draw_blanket blanket pixels = [] blanket.each_row_with_index do |row, y| row.split(//).each do |color_char| pixels << Magick::Pixel.from_color(StringToColor[color_char]) end end store_pixels 0, 0, blanket.width, blanket.height, pixels end For a 800x800 image, on my box, this shaves about 1/20 second off a total run time of about 7 seconds. -- Jesse Merriman jessemerriman / warpmail.net http://www.jessemerriman.com/