Available for: UI for ASP.NET MVC | UI for ASP.NET AJAX | UI for Blazor | UI for WPF | UI for WinForms | UI for Xamarin | UI for WinUI | UI for ASP.NET Core | UI for .NET MAUI

New to Telerik Document Processing? Download free 30-day trial

ImageInline

ImageInline element is an inline-level flow content element intended to contain an image object.

Supported Image Extensions

With WordsProcessing, you can work with images from the following file formats:

  • JPG
  • JPEG
  • PNG
  • BMP
  • TIFF
  • TIF
  • GIF
  • ICON
  • WMF
  • EMF
  • BIN
  • SVG (introduced in 2024 Q3)

Inserting an ImageInline

Example 1 demonstrates how you can create an ImageInline and add it to a Paragraph:

Example 1: Create an image inline and insert it in a paragraph

ImageInline imageInline = new ImageInline(document); 
 
byte[] data = File.ReadAllBytes("logo.png"); 
imageInline.Image.ImageSource = new ImageSource(data, "png"); 
 
paragraph.Inlines.Add(imageInline); 

The parent Paragraph should belong to the same document that is passed to the constructor of the ImageInline.

You can add an image at a specific index in the Inlines collection of a paragraph using the Insert() method. Here is how to add an ImageInline at the beginning of a paragraph:

Example 2: Add an image inline to a specific position

ImageInline imageInline = new ImageInline(document); 
 
byte[] data = File.ReadAllBytes("logo.png"); 
imageInline.Image.ImageSource = new ImageSource(data, "png"); 
 
paragraph.Inlines.Insert(0, imageInline); 

You can also use the AddImageInline() method of the Inlines collection of a paragraph. The method creates a new ImageInline, adds it to the paragraph and returns it.

Example 3: Using AddImageInline() method

ImageInline imageInline = paragraph.Inlines.AddImageInline(); 

Inserting ImageInline element in RadFlowDocument can also be achieved with RadFlowDocumentEditor.

Example 4: Insert an image inline using RadFlowDocumentEditor

RadFlowDocumentEditor editor = new RadFlowDocumentEditor(document); 
 
using (Stream stream = this.GetResourceStream("Telerik_logo.png")) 
{ 
    editor.InsertImageInline(stream, "png", new Size(118, 28)); 
} 

Modifying an ImageInline

The ImageInline element exposes the following properties:

  • Image: Represents the image object that is contained in the ImageInline. It is a read-only composite object that contains the properties listed below:

    • ImageSource: Specifies the image source that is visualized in the image object.
    • Name: Represents the name of the image.
    • Width: The width of the image.
    • Height: The height of the image.
    • Size: The size of the image. Can also be set to Size.Empty.
    • IsHorizontallyFlipped: Specifies whether the image is horizontally flipped.
    • IsVerticallyFlipped: Specifies whether the image is vertically flipped.
    • RotationAngle: Specifies the rotation angle of the image.
    • LockAspectRatio: Determines whether the aspect ratio between the width and the height of the image will be preserved.
    • Link: Specifies the link that would be opened when the image is clicked. The property is of type string, currently it works with the docx format only.

Working with Image Size

This section explains the behavior of the Size property of The Image object in an ImageInline and how the image sizes are exported to the supported formats.

When using the .NET Standard version of the RadWordsProcessing binaries, in order to export to PDF format documents containing images different than Jpeg and Jpeg2000 or ImageQuality different than High, the JpegImageConverter property inside the FixedExtensibilityManager has to be set. For more information check the FixedExtensibilityManager in the PdfProcessing`s Cross-Platform Support

  • Insert image without specifying its size

    • Model: Size will be Size.Empty.
    • Export to DOCX: Size will be decoded
    • Export to RTF: Size will be decoded
    • Export to HTML: Width and height attributes will not be exported
    • Export to PDF: Size will be decoded
  • Insert image and set its size to Size.Empty

    • Model: Size will be Size.Empty
    • Export to DOCX: Size will be (1,1)
    • Export to RTF: Size will be (1,1)
    • Export to HTML: Width and height attributes will not be exported
    • Export to PDF: Size will be (1,1)
  • Inserting image without specifying its size and obtain its size later (through the property getter)

    • Model: Size will be decoded

See Also

In this article