PdfGraphics.DrawImage(Byte[], PointF) Method
Draws the specified image data at the specified point.
Namespace: DevExpress.Pdf
Assembly: DevExpress.Pdf.v24.2.Drawing.dll
NuGet Package: DevExpress.Pdf.Drawing
#Declaration
#Parameters
Name | Type | Description |
---|---|---|
data | Byte[] | An array of bytes with image data. |
location | Point |
A point in world coordinate system where you can draw an image. |
#Remarks
This method renders an image with its original resolution (DPI). The following formats are available:
- BMP
- JPEG
- PNG
- EMF
- EMF+
- TIFF
- GIF
- SVG
The method’s dpiX and dpiY parameters do not affect image quality. They are used to convert world coordinates to page coordinates only.
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:
- ConvertImagesToJpeg - Specifies whether to convert bitmap images into JPEG to reduce the size of the resulting PDF file.
- JpegImageQuality - Gets or sets the quality of JPEG images in the resulting PDF file.
Tip
The Pdf
caches image data used as the Draw
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.AddToPageBackground
- These methods allow you to draw content on an existing page.
- PdfDocumentProcessor.RenderNewPage
- Draws content on a new page.
To add an image to a page, call one of the following methods:
- PdfGraphics.AddToPageForeground, PdfGraphics.AddToPageBackground
- These methods allow you to draw content on an existing page.
- PdfDocumentProcessor.RenderNewPage
- Draws content on a new page.
The code sample below shows how to draw an image in specified point:
using DevExpress.Pdf;
using System.Drawing;
using (PdfDocumentProcessor processor = new PdfDocumentProcessor())
{
processor.LoadDocument("Documents//Document.pdf");
using (PdfGraphics graphics = processor.CreateGraphics())
{
// Obtain the first document page
PdfPage page = processor.Document.Pages[0];
// Specify an image to draw
using (var image = File.ReadAllBytes("Documents//DevExpress.png"))
{
// Calculate the image position
var point = new PointF((float)rect.Center.X-200, (float)rect.Center.Y);
// Draw an image into the calculated point
graphics.DrawImage(image, point);
// Add graphics content to the page foreground
graphics.AddToPageForeground(page, 72, 72);
}
}
processor.SaveDocument("result.pdf");
}