def insert_image(*args)
    # Check for a cell reference in A1 notation and substitute row and column
    args = row_col_notation(args)
    # args = [row, col, filename, x_offset, y_offset, scale_x, scale_y]
    image = Image.new(self, *args)
    raise "Insufficient arguments in insert_image()" unless args.size >= 3
    raise "Couldn't locate #{image.filename}: $!"    unless test(?e, image.filename)

    @images << image
  end
def insert_image(*args)
    # Check for a cell reference in A1 notation and substitute row and column
    args = row_col_notation(args)
    # args = [row, col, filename, x_offset, y_offset, scale_x, scale_y]
    image = Image.new(self, *args)
    raise "Insufficient arguments in insert_image()" unless args.size >= 3
    raise "Couldn't locate #{image.filename}: $!"    unless test(?e, image.filename)

    @images << image
  end
:call-seq:
   insert_image(row, col,    filename, x, y, scale_x, scale_y)
   insert_image(A1_notation, filename, x, y, scale_x, scale_y)

 Insert an image into the worksheet.

 This method can be used to insert a image into a worksheet. The image can
 be in PNG, JPEG or BMP format. The _x_, _y_, _scale_x_ and _scale_y_
 parameters are optional.

     worksheet1.insert_image('A1', 'ruby.bmp')
     worksheet2.insert_image('A1', '../images/ruby.bmp')
     worksheet3.insert_image('A1', 'c:\images\ruby.bmp')

 The parameters _x_ and _y_ can be used to specify an offset from the top
 left hand corner of the cell specified by _row_ and _col_. The offset
 values are in pixels.

     worksheet1.insert_image('A1', 'ruby.bmp', 32, 10)

 The default width of a cell is 63 pixels. The default height of a cell is
 17 pixels. The pixels offsets can be calculated using the following
 relationships:

     Wp = int(12We)   if We <  1
     Wp = int(7We +5) if We >= 1
     Hp = int(4/3He)

     where:
     We is the cell width in Excels units
     Wp is width in pixels
     He is the cell height in Excels units
     Hp is height in pixels

 The offsets can be greater than the width or height of the underlying cell.
 This can be occasionally useful if you wish to align two or more images
 relative to the same cell.

 The parameters _scale_x_ and _scale_y_ can be used to scale the inserted
 image horizontally and vertically:

     # Scale the inserted image: width x 2.0, height x 0.8
     worksheet.insert_image('A1', 'ruby.bmp', 0, 0, 2, 0.8)

 See also the images.rb program in the examples directory of the distro.

 Note:

 you must call set_row() or set_column() before insert_image() if you wish
 to change the default dimensions of any of the rows or columns that the
 image occupies. The height of a row can also change if you use a font that
 is larger than the default. This in turn will affect the scaling of your
 image. To avoid this you should explicitly set the height of the row using
 set_row() if it contains a font size that will change the row height.

 BMP images must be 24 bit, true colour, bitmaps. In general it is best to
 avoid BMP images since they aren't compressed.