# File sparklines.rb, line 279
        def self.area(results=[], options={})
                
                step = options[:step].to_i
                height = options[:height].to_i
                upper = options[:upper].to_i

                has_min = options[:has_min]
                has_max = options[:has_max]
                has_last = options[:has_last]

                min_color = options[:min_color]
                max_color = options[:max_color]
                last_color = options[:last_color]
                below_color = options[:below_color]
                above_color = options[:above_color]

                img = Magick::Image.new((results.size - 1) * step + 4, height) {self.background_color = options[:background_color]}
                img.format = "PNG"
                draw = Magick::Draw.new

                coords = [[0,(height - 3 - upper/(101.0/(height-4)))]]
                i=0
                results.each do |r|
                        coords.push [(2 + i), (height - 3 - r/(101.0/(height-4)))]
                        i += step
                end
                coords.push [(results.size - 1) * step + 4, (height - 3 - upper/(101.0/(height-4)))]

                #Block off the bottom half of the image and draw the sparkline
                draw.fill(above_color)
                draw.define_clip_path('top') do
                        draw.rectangle(0,0,(results.size - 1) * step + 4,(height - 3 - upper/(101.0/(height-4))))
                end
                draw.clip_path('top')
                draw.polygon *coords.flatten

                #Block off the top half of the image and draw the sparkline
                draw.fill(below_color)
                draw.define_clip_path('bottom') do
                        draw.rectangle(0,(height - 3 - upper/(101.0/(height-4))),(results.size - 1) * step + 4,height)
                end
                draw.clip_path('bottom')
                draw.polygon *coords.flatten

                #The sparkline looks kinda nasty if either the above_color or below_color gets the center line
                draw.fill('black')
                draw.line(0,(height - 3 - upper/(101.0/(height-4))),(results.size - 1) * step + 4,(height - 3 - upper/(101.0/(height-4))))

                #After the parts have been masked, we need to let the whole canvas be drawable again
                #so a max dot can be displayed
                draw.define_clip_path('all') do
                        draw.rectangle(0,0,img.columns,img.rows)
                end
                draw.clip_path('all')
                if has_min == 'true'
                        min_pt = coords[results.index(results.min)+1]
                        draw.fill(min_color)
                        draw.rectangle(min_pt[0]-1, min_pt[1]-1, min_pt[0]+1, min_pt[1]+1)
                end
                if has_max == 'true'
                        max_pt = coords[results.index(results.max)+1]
                        draw.fill(max_color)
                        draw.rectangle(max_pt[0]-1, max_pt[1]-1, max_pt[0]+1, max_pt[1]+1)
                end
                if has_last == 'true'
                        last_pt = coords[-2]
                        draw.fill(last_color)
                        draw.rectangle(last_pt[0]-1, last_pt[1]-1, last_pt[0]+1, last_pt[1]+1)
                end

                draw.draw(img)
                img.to_blob
        end