vendor/gems/prawn-0.3.0/lib/prawn/images.rb
def detect_image_format(content)
      top = content[0,128]                       

      if top[0, 3] == "\xff\xd8\xff"
        return :jpg
      elsif top[0, 8]  == "\x89PNG\x0d\x0a\x1a\x0a"
        return :png
      else
        raise ArgumentError, "Unsupported Image Type"
      end
    end
# add the image at filename to the current page. Currently only
# JPG and PNG files are supported.
#
# Arguments:
# <tt>file</tt>:: path to file or an object that responds to #read
#
# Options:
# <tt>:at</tt>:: an array [x,y] with the location of the top left corner of the image.
# <tt>:position</tt>::  One of (:left, :center, :right) or an x-offset
# <tt>:vposition</tt>::  One of (:top, :center, :center) or an y-offset    
# <tt>:height</tt>:: the height of the image [actual height of the image]
# <tt>:width</tt>:: the width of the image [actual width of the image]
# <tt>:scale</tt>:: scale the dimensions of the image proportionally
# <tt>:fit</tt>:: scale the dimensions of the image proportionally to fit inside [width,height]
# 
#   Prawn::Document.generate("image2.pdf", :page_layout => :landscape) do     
#     pigs = "#{Prawn::BASEDIR}/data/images/pigs.jpg" 
#     image pigs, :at => [50,450], :width => 450                                      
#
#     dice = "#{Prawn::BASEDIR}/data/images/dice.png"
#     image dice, :at => [50, 450], :scale => 0.75 
#   end   
#
# If only one of :width / :height are provided, the image will be scaled
# proportionally.  When both are provided, the image will be stretched to 
# fit the dimensions without maintaining the aspect ratio.
#
#
# If :at is provided, the image will be place in the current page but
# the text position will not be changed.
#
#
# If instead of an explicit filename, an object with a read method is
# passed as +file+, you can embed images from IO objects and things
# that act like them (including Tempfiles and open-uri objects).
#
#   require "open-uri"
#
#   Prawn::Document.generate("remote_images.pdf") do 
#     image open("http://prawn.majesticseacreature.com/media/prawn_logo.png")
#   end
#
# This method returns an image info object which can be used to check the
# dimensions of an image object if needed. 
# (See also: Prawn::Images::PNG , Prawn::Images::JPG)
# 
add the image at filename to the current page. Currently only
JPG and PNG files are supported.

file:: path to file or an object that responds to #read

:at:: an array [x,y] with the location of the top left corner of the image.





If only one of :width / :height are provided, the image will be scaled
proportionally.  When both are provided, the image will be stretched to
fit the dimensions without maintaining the aspect ratio.

If :at is provided, the image will be place in the current page but
the text position will not be changed.

If instead of an explicit filename, an object with a read method is
passed as +file+, you can embed images from IO objects and things
that act like them (including Tempfiles and open-uri objects).

require "open-uri"



This method returns an image info object which can be used to check the
dimensions of an image object if needed.
add the image at filename to the current page . Currently only JPG and PNG files are supported . file :: path to file or an object that responds to #read : at :: an array [ x y ] with the location of the top left corner of the image . If only one of : width / : height are provided the image will be scaled proportionally . When both are provided the image will be stretched to fit the dimensions without maintaining the aspect ratio . If : at is provided the image will be place in the current page but the text position will not be changed . If instead of an explicit filename an object with a read method is passed as + file + you can embed images from IO objects and things that act like them ( including Tempfiles and open - uri objects ) . require " open - uri " This method returns an image info object which can be used to check the dimensions of an image object if needed .
def detect_image_format(content)
      top = content[0,128]                       
      if top[0, 3] == "\xff\xd8\xff"
        return :jpg
      elsif top[0, 8]  == "\x89PNG\x0d\x0a\x1a\x0a"
        return :png
      else
        raise ArgumentError, "Unsupported Image Type"
      end
    end
def detect_image_format ( content ) top = content [ 0 , 128 ] if top [ 0 , 3 ] == "\xff\xd8\xff" return :jpg elsif top [ 0 , 8 ] == "\x89PNG\x0d\x0a\x1a\x0a" return :png else raise ArgumentError , "Unsupported Image Type" end end
add the image at filename to the current page.
add the image at filename to the current page .
content