Interface IDrawContainer
Represents a container that can hold drawings such as images and shapes.
Namespace: IronWord.Models.Abstract.Interfaces
Assembly: IronWord.dll
Syntax
public interface IDrawContainer
IDrawContainer is the contract you reach through whenever a part of a Word document needs to hold pictures and drawn shapes. It is what lets the same drawing calls work on a paragraph, a run, or a whole section, so code that places a logo or a callout box does not care which element it is writing into. Anything that draws is confused with the text-only ITextContainer; a draw container handles images and shapes, while a text container handles runs and strings.
A developer rarely names this interface directly. You receive it through the concrete types that implement it: Paragraph, Run, and DocumentSection all satisfy IDrawContainer, so you obtain one simply by holding a paragraph or section and calling its drawing methods. The interface belongs to the build-and-edit stage of the render workflow, after the document is open and before it is saved, at the point where visual content is added alongside the words.
The everyday members are AddImage and AddShape, both of which return the created content so you can position or style it. AddImage has four overloads, accepting an AnyBitmap, an existing ImageContent, a Stream, or a file-path string, and each returns an ImageContent. AddShape takes a ShapeContent and returns it. To read drawings back out, ExtractImages returns a List<ImageContent> and ExtractShapes returns a List<ShapeContent>, which is how you audit or relocate the visuals already in a container.
IDrawContainer container = paragraph;
ImageContent logo = container.AddImage("logo.png");The add image how-to walks through placing a picture, and the extract images how-to pulls them back out. The document element tutorial shows where containers sit in the object model.
Methods
AddImage(AnyBitmap)
Adds an Image to the draw container from an AnyBitmap instance.
Declaration
ImageContent AddImage(AnyBitmap anyBitmap)
Parameters
| Type | Name | Description |
|---|---|---|
| IronSoftware.Drawing.AnyBitmap | anyBitmap | The AnyBitmap instance containing the Image data. |
Returns
| Type | Description |
|---|---|
| ImageContent | The added Image. |
AddImage(ImageContent)
Adds an Image to the draw container.
Declaration
ImageContent AddImage(ImageContent imageContent)
Parameters
| Type | Name | Description |
|---|---|---|
| ImageContent | imageContent | The Image to be added. |
Returns
| Type | Description |
|---|---|
| ImageContent | The added Image. |
AddImage(Stream)
Adds an Image to the draw container from a stream.
Declaration
ImageContent AddImage(Stream imageStream)
Parameters
| Type | Name | Description |
|---|---|---|
| System.IO.Stream | imageStream | The stream containing the Image data. |
Returns
| Type | Description |
|---|---|
| ImageContent | The added Image. |
AddImage(String)
Adds an Image to the draw container from a file path.
Declaration
ImageContent AddImage(string imagePath)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | imagePath | The file path of the Image. |
Returns
| Type | Description |
|---|---|
| ImageContent | The added Image. |
AddShape(ShapeContent)
Adds a Shape to the draw container.
Declaration
ShapeContent AddShape(ShapeContent shapeContent)
Parameters
| Type | Name | Description |
|---|---|---|
| ShapeContent | shapeContent | The Shape to be added. |
Returns
| Type | Description |
|---|---|
| ShapeContent | The added Shape. |
ExtractImages()
Extract all images from this container
Declaration
List<ImageContent> ExtractImages()
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.List<ImageContent> | List of images |
ExtractShapes()
Extract all shapes from this container
Declaration
List<ShapeContent> ExtractShapes()
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.List<ShapeContent> | List of path segment collections |