SpreadsheetGear
AddPicture(String,Double,Double,Double,Double) Method
See Also  Example Send Feedback
SpreadsheetGear.Shapes Namespace > IShapes Interface > AddPicture Method : AddPicture(String,Double,Double,Double,Double) Method

filename
The filename of the picture to add.
left
Left edge of the new picture in points.
top
Top edge of the new picture in points.
width
Width of the new picture in points.
height
Height of the new picture in points.
Adds the specified picture to the shapes collection at the specified position and with the specified size.

Syntax

Visual Basic (Declaration) 
Overloads Function AddPicture( _
   ByVal filename As String, _
   ByVal left As Double, _
   ByVal top As Double, _
   ByVal width As Double, _
   ByVal height As Double _
) As IShape
C# 
IShape AddPicture( 
   string filename,
   double left,
   double top,
   double width,
   double height
)

Parameters

filename
The filename of the picture to add.
left
Left edge of the new picture in points.
top
Top edge of the new picture in points.
width
Width of the new picture in points.
height
Height of the new picture in points.

Return Value

A shape object representing the newly created picture.

Example

Demonstrate adding a picture to a new workbook and returning the workbook from an ASP.NET page.
C#Copy Code
void Page_Load(Object sender, EventArgs e)
   {
       
// Create a new empty workbook and get the first sheet.
       
SpreadsheetGear.IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook();
       SpreadsheetGear.IWorksheet worksheet = workbook.Worksheets[
"Sheet1"];
       
       
// Get the image file name.
       
String imageFile = Server.MapPath("files/ssgear.gif");
       
       
// Get the width and height of the picture in pixels and convert to
       
// points for use in the call to AddPicture.  This step is only
       
// necessary if the actual picture size is to be used and that size
       
// is unknown.  Another option is to calculate the width and height
       
// in row and column coordinates in the same manner as left and top below.
       
double width;
       
double height;
       System.Drawing.Image image = System.Drawing.Image.FromFile(imageFile);
       
using (image)
       {
           width = image.Width * 72.0 / image.HorizontalResolution;
           height = image.Height * 72.0 / image.VerticalResolution;
       }
       
       
// Calculate the left and top placement of the picture by converting
       
// row and column coordinates to points.  Use fractional values to
       
// get coordinates anywhere in between row and column boundaries.
       
SpreadsheetGear.IWorksheetWindowInfo windowInfo = worksheet.WindowInfo;
       
// Convert from the center of column B to points.
       
double left = windowInfo.ColumnToPoints(1.5);
       
// Convert from the center of row 1 to points.
       
double top = windowInfo.RowToPoints(1.5);
       
       
// Add the picture from file.
       
worksheet.Shapes.AddPicture(imageFile, left, top, width, height);

       
// Stream the Excel spreadsheet to the client
       
Response.Clear();
       Response.ContentType =
"application/vnd.ms-excel";
       workbook.SaveToStream(Response.OutputStream, SpreadsheetGear.FileFormat.XLS97);
       Response.End();
   }
    
Visual BasicCopy Code
Sub Page_Load(sender As Object, e As EventArgs)
        ' Create a new empty workbook and get the first sheet.
        Dim workbook As SpreadsheetGear.IWorkbook = SpreadsheetGear.Factory.GetWorkbook()
        Dim worksheet As SpreadsheetGear.IWorksheet = workbook.Worksheets("Sheet1")

        ' Get the image file name.
        Dim imageFile As String = Server.MapPath("files/ssgear.gif")

        ' Get the width and height of the picture in pixels and convert to
        ' points for use in the call to AddPicture. This step is only
        ' necessary if the actual picture size is to be used and that size
        ' is unknown. Another option is to calculate the width and height
        ' in row and column coordinates in the same manner as left and top below.
        Dim width As Double
        Dim height As Double
        Dim image As System.Drawing.Image = System.Drawing.Image.FromFile(imageFile)
        Try
            width = image.Width * 72.0 / image.HorizontalResolution
            height = image.Height * 72.0 / image.VerticalResolution
        Finally
            image.Dispose()
        End Try

        ' Calculate the left and top placement of the picture by converting
        ' row and column coordinates to points. Use fractional values to
        ' get coordinates anywhere in between row and column boundaries.
        Dim windowInfo As SpreadsheetGear.IWorksheetWindowInfo = worksheet.WindowInfo
        ' Convert from the center of column B to points.
        Dim left As Double = windowInfo.ColumnToPoints(1.5)
        ' Convert from the center of row 2 to points.
        Dim top As Double = windowInfo.RowToPoints(1.5)

        ' Add the picture from file.
        worksheet.Shapes.AddPicture(imageFile, left, top, width, height)

        ' Stream the Excel spreadsheet to the client
        Response.Clear()
        Response.ContentType = "application/vnd.ms-excel"
        workbook.SaveToStream(Response.OutputStream, SpreadsheetGear.FileFormat.XLS97)
        Response.End()
    End Sub 'Page_Load

Remarks

Use IWorksheetWindowInfo.RowToPoints and IWorksheetWindowInfo.ColumnToPoints to convert row and column positions to points.

Pictures with PNG, JPEG and Enhanced Windows Metafiles magic signatures are stored in the workbook as is. All other images are converted to PNG before being stored in the workbook.

Requirements

Platforms: Windows 2000, Windows XP, Windows Vista, Windows Server 2003 and Windows Server 2008. SpreadsheetGear 2009 requires the Microsoft .NET Framework 2.0 and supports .NET 3.0 and .NET 3.5.

See Also

Copyright © 2003-2009 SpreadsheetGear LLC. All Rights Reserved.Help Powered by Innovasys   
SpreadsheetGear is a registered trademark of SpreadsheetGear LLC.
Microsoft, Microsoft Excel and Visual Studio are trademarks or registered trademarks of Microsoft Corporation.