officefileapi-devexpress-dot-pdf-dot-pdfgraphics-dot-drawimage-x28-system-dot-io-dot-stream-system-dot-drawing-dot-rectanglef-x29.md
Draws an image from a stream in the specified page rectangle. The image is scaled to fit the rectangle.
Namespace : DevExpress.Pdf
Assembly : DevExpress.Pdf.v25.2.Drawing.dll
NuGet Package : DevExpress.Pdf.Drawing
public void DrawImage(
Stream data,
RectangleF bounds
)
Public Sub DrawImage(
data As Stream,
bounds As RectangleF
)
| Name | Type | Description |
|---|---|---|
| data | Stream |
A stream with image data.
| | bounds | RectangleF |
A page area in world coordinate system where you can draw an image.
|
This method renders an image with its original resolution (DPI). The following formats are available:
If you embed a multi-page TIFF image into the document, the PdfGraphics instance draws the active frame only (the default active frame is the first frame). Use the Image.SelectActiveFrame method to select a frame to use. The compression retains for TIFF images with CCITT T.4 or CCITT T.6 compression.
You can use the following properties to reduce the image size and the size of the resulting PDF:
You can also call the PdfDocumentProcessor.OptimizeDocument method to optimize PDF document images. The method parameter specifies image compression settings.
Tip
The PdfDocumentProcessor caches image data used as the DrawImage method parameter. If you need to draw the same image on multiple pages, you can reuse image data to improve the application performance and reduce the resulting file size.
To draw an image on the PDF page, use one of the following methods:
PdfGraphics.AddToPageForeground, PdfGraphics.AddToPageBackgroundThese methods allow you to draw content on an existing page.PdfDocumentProcessor.RenderNewPageDraws content on a new page.
The following code snippet draws an image in the page center:
using DevExpress.Pdf;
using System.Drawing;
using System.IO;
using (var processor = new PdfDocumentProcessor())
{
processor.LoadDocument("Documents//Document.pdf");
using (PdfGraphics graphics = processor.CreateGraphicsWorldSystem())
{
// Obtain the first document page
PdfPage page = processor.Document.Pages[0];
using (FileStream fs = new FileStream("Documents//DevExpress.png", FileMode.Open))
{
// Calculate the image position
RectangleF pageCenter = new RectangleF(106, 363, 400, 67);;
// Draw an image into the calculated area
graphics.DrawImage(image, pageCenter);
// Add graphics content to the page foreground
graphics.AddToPageForeground(page);
}
}
processor.SaveDocument("result.pdf");
}
Imports DevExpress.Pdf
Imports System.Drawing
Imports System.IO
Using processor = New PdfDocumentProcessor()
processor.LoadDocument("Documents//Document.pdf")
Using graphics As PdfGraphics = processor.CreateGraphicsWorldSystem()
' Obtain the first document page
Dim page As PdfPage = processor.Document.Pages(0)
Using fs As New FileStream("Documents//DevExpress.png", FileMode.Open)
' Calculate the image position
Dim pageCenter As RectangleF = New RectangleF(106, 363, 400, 67)
' Draw an image into the calculated area
graphics.DrawImage(image, pageCenter)
' Add graphics content to the page foreground
graphics.AddToPageForeground(page)
End Using
End Using
processor.SaveDocument("result.pdf")
End Using
See Also