Shape Constructor

Creates a new shape object.

Namespace:  Aspose.Words.Drawing
Assembly:  Aspose.Words (in Aspose.Words.dll) Version: 20.7.0


public Shape(
	DocumentBase doc,
	ShapeType shapeType


Type: Aspose.WordsDocumentBase
The owner document.
Type: Aspose.Words.DrawingShapeType
The type of the shape to create.


You should specify desired shape properties after you created a shape.


Shows how to add a shape with an image to a document.
Document doc = new Document();

// Public constructor of "Shape" class creates shape with "ShapeMarkupLanguage.Vml" markup type
// If you need to create non-primitive shapes, such as SingleCornerSnipped, TopCornersSnipped, DiagonalCornersSnipped,
// TopCornersOneRoundedOneSnipped, SingleCornerRounded, TopCornersRounded, DiagonalCornersRounded
// please use DocumentBuilder.InsertShape
Shape shape = new Shape(doc, ShapeType.Image);
shape.ImageData.SetImage(ImageDir + "Windows MetaFile.wmf");
shape.Width = 100;
shape.Height = 100;


doc.Save(ArtifactsDir + "Image.CreateImageDirectly.docx");
Shows how to create a textbox with some text and different formatting options in a new document.
Document doc = new Document();

// Create a new shape of type TextBox
Shape textBox = new Shape(doc, ShapeType.TextBox);

// Set some settings of the textbox itself
// Set the wrap of the textbox to inline
textBox.WrapType = WrapType.None;
// Set the horizontal and vertical alignment of the text inside the shape
textBox.HorizontalAlignment = HorizontalAlignment.Center;
textBox.VerticalAlignment = VerticalAlignment.Top;

// Set the textbox height and width
textBox.Height = 50;
textBox.Width = 200;

// Set the textbox in front of other shapes with a lower ZOrder
textBox.ZOrder = 2;

// Let's create a new paragraph for the textbox manually and align it in the center
// Make sure we add the new nodes to the textbox as well
textBox.AppendChild(new Paragraph(doc));
Paragraph para = textBox.FirstParagraph;
para.ParagraphFormat.Alignment = ParagraphAlignment.Center;

// Add some text to the paragraph
Run run = new Run(doc);
run.Text = "Hello world!";

// Append the textbox to the first paragraph in the body

doc.Save(ArtifactsDir + "Shape.CreateTextBox.docx");

See Also