Interface IPictureShape
Represents an Image in a worksheet.
Inherited Members
Namespace: Syncfusion.XlsIO
Assembly: Syncfusion.XlsIO.Portable.dll
Syntax
public interface IPictureShape : IShape, IParentApplicationProperties
FileName
Gets the Filename, Read only.
Declaration
string FileName { get; }Property Value
| Type | 
|---|
| System.String | 
Examples
The following code illustrates how to access the FileName property.
        using (ExcelEngine excelEngine = new ExcelEngine())
        {
            //Create worksheet
            IApplication application = excelEngine.Excel;
            application.DefaultVersion = ExcelVersion.Excel2013;
            IWorkbook workbook = application.Workbooks.Create(1);
            IWorksheet worksheet = workbook.Worksheets[0];
            //Create image stream from svg
            Stream svgStream = new FileStream("image.svg", FileMode.Open);
            //Create image stream from png
            Stream stream = new FileStream("image.png", FileMode.Open);
            //Add image
            IPictureShape picture = worksheet.Pictures.AddPicture(1, 1, svgStream, stream, 50, 50);
            //Check
            Console.Write(picture.FileName);
            //Save and dispose
            workbook.SaveAs("Shapes.xlsx");
            workbook.Close();
            Console.ReadKey();
        }
//Output will be
//Picture0Picture
Gets or sets the picture.
Declaration
Image Picture { get; set; }Property Value
| Type | 
|---|
| Image | 
Examples
The following code illustrates how Picture property can be accessed.
        using (ExcelEngine excelEngine = new ExcelEngine())
        {
            //Create worksheet
            IApplication application = excelEngine.Excel;
            application.DefaultVersion = ExcelVersion.Excel2013;
            IWorkbook workbook = application.Workbooks.Create(1);
            IWorksheet worksheet = workbook.Worksheets[0];
            //Create image stream from svg
            Stream svgStream = new FileStream("image.svg", FileMode.Open);
            //Create image stream from png
            Stream stream = new FileStream("image.png", FileMode.Open);
            //Add image
            IPictureShape picture = worksheet.Pictures.AddPicture(1, 1, svgStream, stream, 50, 50);
            //Check
            Console.Write(picture.Picture != null);
            //Save and dispose
            workbook.SaveAs("Shapes.xlsx");
            workbook.Close();
            Console.ReadKey();
        }
//Output will be
//TrueSvgData
Gets or sets the svg data for the picture.
Declaration
Stream SvgData { get; set; }Property Value
| Type | 
|---|
| System.IO.Stream | 
Examples
The following code illustrates how SvgData property can be accessed.
        using (ExcelEngine excelEngine = new ExcelEngine())
        {
            //Create worksheet
            IApplication application = excelEngine.Excel;
            application.DefaultVersion = ExcelVersion.Excel2013;
            IWorkbook workbook = application.Workbooks.Create(1);
            IWorksheet worksheet = workbook.Worksheets[0];
            //Create image stream from svg
            Stream svgStream = new FileStream("image.svg", FileMode.Open);
            //Create image stream from png
            Stream stream = new FileStream("image.png", FileMode.Open);
            //Add image
            IPictureShape picture = worksheet.Pictures.AddPicture(1, 1, svgStream, stream, 50, 50);
            //Check
            Console.Write(picture.SvgData != null);
            //Save and dispose
            workbook.SaveAs("Shapes.xlsx");
            workbook.Close();
            Console.ReadKey();
        }
//Output will be
//TrueMethods
Remove(Boolean)
Removes shape from the collection.
Declaration
void Remove(bool removeImage)Parameters
| Type | Name | Description | 
|---|---|---|
| System.Boolean | removeImage | Removes image that is referenced by this shape from collection too, if we didn't detect image usage. XlsIO doesn't detect this situation correctly in all cases if there are shapes in charts in Excel 2007 or if some image shapes are grouped in any excel version. If you are not sure whether image is referenced in charts or grouped shapes and you are working with Excel 2007 version, set this argument to true (this could cause file size increase, but will keep document in the correct state). | 
Examples
The following code illustrates how to remove a IPictureShape from IPictures collection.
        using (ExcelEngine excelEngine = new ExcelEngine())
        {
            //Create worksheet
            IApplication application = excelEngine.Excel;
            application.DefaultVersion = ExcelVersion.Excel2013;
            IWorkbook workbook = application.Workbooks.Create(1);
            IWorksheet worksheet = workbook.Worksheets[0];
            //Add images
            IPictureShape picture = worksheet.Pictures.AddPicture(1, 1, "image.png");
            IPictureShape picture2 = worksheet.Pictures.AddPicture(1, 15, "image.png");
            //Remove image
            picture.Remove(true);
            //Save and dispose
            workbook.SaveAs("Shapes.xlsx");
            workbook.Close();
        }