Provides access to the image of the shape. For a shape that cannot have an image, returns null.
[Visual Basic]Public ReadOnly Property ImageData As
ImageData Remarks
Not all shapes can have an image. If a shape cannot have an image this property returns null.
Whether a shape can have an image or not depends on its ShapeType. Only Image, OleControl, OleObject can have an image.
Example
Shows how to extract images from a document and save them as files.
[C#]
[Test]
public void ExtractImagesToFiles()
{
Document doc = new Document(MyDir + "Image.SampleImages.doc");
NodeCollection shapes = doc.GetChildNodes(NodeType.Shape, true, false);
int imageIndex = 0;
foreach (Shape shape in shapes)
{
if (shape.HasImage)
{
string imageFileName = string.Format("Image.ExportImages.{0} Out.{1}", imageIndex, shape.ImageData.ImageType);
shape.ImageData.Save(MyDir + imageFileName);
imageIndex++;
}
}
}[Visual Basic]
<Test> _
Public Sub ExtractImagesToFiles()
Dim doc As Document = New Document(MyDir & "Image.SampleImages.doc")
Dim shapes As NodeCollection = doc.GetChildNodes(NodeType.Shape, True, False)
Dim imageIndex As Integer = 0
For Each shape As Shape In shapes
If shape.HasImage Then
Dim imageFileName As String = String.Format("Image.ExportImages.{0} Out.{1}", imageIndex, shape.ImageData.ImageType)
shape.ImageData.Save(MyDir & imageFileName)
imageIndex += 1
End If
Next shape
End SubShows how to insert a linked image into a document.
[C#]
DocumentBuilder builder = new DocumentBuilder();
string imageFileName = MyDir + "Hammer.wmf";
builder.Write("Image linked, not stored in the document: ");
Shape linkedOnly = new Shape(builder.Document, ShapeType.Image);
linkedOnly.WrapType = WrapType.Inline;
linkedOnly.ImageData.SourceFullName = imageFileName;
builder.InsertNode(linkedOnly);
builder.Writeln();
builder.Write("Image linked and stored in the document: ");
Shape linkedAndStored = new Shape(builder.Document, ShapeType.Image);
linkedAndStored.WrapType = WrapType.Inline;
linkedAndStored.ImageData.SourceFullName = imageFileName;
linkedAndStored.ImageData.SetImage(imageFileName);
builder.InsertNode(linkedAndStored);
builder.Writeln();
builder.Write("Image stored in the document, but not linked: ");
Shape stored = new Shape(builder.Document, ShapeType.Image);
stored.WrapType = WrapType.Inline;
stored.ImageData.SetImage(imageFileName);
builder.InsertNode(stored);
builder.Writeln();
builder.Document.Save(MyDir + "Image.CreateLinkedImage Out.doc");[Visual Basic]
Dim builder As DocumentBuilder = New DocumentBuilder()
Dim imageFileName As String = MyDir & "Hammer.wmf"
builder.Write("Image linked, not stored in the document: ")
Dim linkedOnly As Shape = New Shape(builder.Document, ShapeType.Image)
linkedOnly.WrapType = WrapType.Inline
linkedOnly.ImageData.SourceFullName = imageFileName
builder.InsertNode(linkedOnly)
builder.Writeln()
builder.Write("Image linked and stored in the document: ")
Dim linkedAndStored As Shape = New Shape(builder.Document, ShapeType.Image)
linkedAndStored.WrapType = WrapType.Inline
linkedAndStored.ImageData.SourceFullName = imageFileName
linkedAndStored.ImageData.SetImage(imageFileName)
builder.InsertNode(linkedAndStored)
builder.Writeln()
builder.Write("Image stored in the document, but not linked: ")
Dim stored As Shape = New Shape(builder.Document, ShapeType.Image)
stored.WrapType = WrapType.Inline
stored.ImageData.SetImage(imageFileName)
builder.InsertNode(stored)
builder.Writeln()
builder.Document.Save(MyDir & "Image.CreateLinkedImage Out.doc")See Also
Shape Class | Aspose.Words.Drawing Namespace