DrawObject.Shape
DrawObject.Shape property
Indicates the Shape object when rendering. All properties of shape can be accessed.
public Shape Shape { get; }
Examples
namespace AsposeCellsExamples
{
using Aspose.Cells;
using Aspose.Cells.Drawing;
using Aspose.Cells.Rendering;
using System;
public class DrawObjectPropertyShapeDemo
{
public static void Run()
{
try
{
// Create a new workbook and get the first worksheet
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.Worksheets[0];
// Add sample data to make the rendering meaningful
worksheet.Cells["A1"].Value = "Sample Data";
worksheet.Cells["A2"].Value = "More Data";
// Add a shape to the worksheet
Shape shape = worksheet.Shapes.AddShape(MsoDrawingType.Rectangle, 5, 0, 5, 0, 120, 60);
shape.Text = "Sample Shape";
// Set up rendering options with a custom handler
ImageOrPrintOptions renderOptions = new ImageOrPrintOptions
{
ImageType = ImageType.Png,
OnePagePerSheet = true,
DrawObjectEventHandler = new ShapePropertyHandler()
};
// Render the worksheet - this will trigger the DrawObject events
SheetRender sheetRender = new SheetRender(worksheet, renderOptions);
sheetRender.ToImage(0, "ShapeDemo.png");
// Save the workbook
workbook.Save("ShapeDemo.xlsx");
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
// Custom handler to capture DrawObject events and read the Shape property
private class ShapePropertyHandler : DrawObjectEventHandler
{
public override void Draw(DrawObject drawObject, float x, float y, float width, float height)
{
if (drawObject.Shape != null)
{
Console.WriteLine($"DrawObject Type: {drawObject.Type}");
Console.WriteLine($"Shape Name: {drawObject.Shape.Name}");
Console.WriteLine($"Shape Text: {drawObject.Shape.Text}");
Console.WriteLine($"Shape Width: {drawObject.Shape.Width} pixels");
Console.WriteLine($"Shape Height: {drawObject.Shape.Height} pixels");
Console.WriteLine($"Shape Type: {drawObject.Shape.AutoShapeType}");
Console.WriteLine();
}
}
}
}
}
See Also
- class Shape
- class DrawObject
- namespace Aspose.Cells.Rendering
- assembly Aspose.Cells