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/