Rasterize Method
         
         
         
	Syntax
C#
VB
Java
Objective-C
C++
 
- (BOOL)rasterizeToImage:(LTRasterImage *)image 
                 options:(nullable LTSvgRenderOptions *)options 
                   erorr:(NSError **)error 
             
 
public void rasterize(RasterImage image, SvgRenderOptions options) 
 
Parameters
image
The target image. This must be a valid Leadtools.RasterImage object that is allocated and ready to use. Cannot be null.
 
options
Options to use during rendering. Can be null.
 
	 
	Example
This example will create a raster image then render the pages of a PDF file into the surface of the image before saving it as a PNG file.
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Drawing; 
using Leadtools.Forms.DocumentWriters; 
using Leadtools.Svg; 
using LeadtoolsExamples.Common; 
 
private static void SvgDocumentRasterizeExample() 
{ 
   // The source PDF file 
   var sourceFile = @"C:\Users\Public\Documents\LEADTOOLS Images\Leadtools.pdf"; 
 
   using (var rasterCodecs = new RasterCodecs()) 
   { 
      // Use 300 DPI when loading document images 
      rasterCodecs.Options.RasterizeDocument.Load.Resolution = 300; 
 
      // Get the size and number of pages in the document 
      int pagePixelWidth; 
      int pagePixelHeight; 
      int pageCount; 
 
      using (var codecsImageInfo = rasterCodecs.GetInformation(sourceFile, true)) 
      { 
         pagePixelWidth = codecsImageInfo.Width; 
         pagePixelHeight = codecsImageInfo.Height; 
         pageCount = codecsImageInfo.TotalPages; 
      } 
 
      // Create a raster image that will contain all the pages as a long stripe. We want to restrict this image size to 200 pixels wide to save memory 
      var imageWidth = 200; 
      var factor = (double)imageWidth / pagePixelWidth; 
      var imageHeight = (int)(factor * pagePixelHeight * pageCount + 0.5); 
 
      // Create the raster image 
      using (var rasterImage = RasterImage.Create(imageWidth, imageHeight, 32, 96, RasterColor.FromKnownColor(RasterKnownColor.Transparent))) 
      { 
         var renderOptions = new SvgRenderOptions(); 
         renderOptions.BackgroundColor = RasterColor.FromKnownColor(RasterKnownColor.Transparent); 
         renderOptions.ClipBounds = LeadRectD.Empty; 
         renderOptions.UseBackgroundColor = false; 
 
         for (var pageNumber = 1; pageNumber <= pageCount; pageNumber++) 
         { 
            // Load this page as SVG 
            using (var svg = rasterCodecs.LoadSvg(sourceFile, pageNumber, null) as SvgDocument) 
            { 
               // Flat it 
               if (!svg.IsFlat) 
                  svg.Flat(null); 
 
               if (!svg.Bounds.IsValid) 
                  svg.CalculateBounds(false); 
 
               // Source is all of the page 
               renderOptions.Bounds = svg.Bounds.Bounds; 
 
               // Transfrom is for destination, translate to our location and scale by our factor 
               var transform = LeadMatrix.Identity; 
               transform.Translate(0, (pageNumber - 1) * pagePixelHeight); 
               transform.Scale(factor, factor); 
               renderOptions.Transform = transform; 
 
               // Render this SVG to the raster image surface at the specified location and size 
               svg.Rasterize(rasterImage, renderOptions); 
            } 
         } 
 
         // Finally, save the raster image as PNG to disk 
         var targetFile = @"C:\Users\Public\Documents\LEADTOOLS Images\Leadtools_pages_stripe.png"; 
         rasterCodecs.Save(rasterImage, targetFile, RasterImageFormat.Png, 0); 
      } 
   } 
} 
 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.Drawing 
Imports Leadtools.Forms.DocumentWriters 
Imports Leadtools.Svg 
 
Private Shared Sub SvgDocumentRasterizeExample() 
   ' The source PDF file 
   Dim sourceFile As String = "C:\Users\Public\Documents\LEADTOOLS Images\Leadtools.pdf" 
 
   Using rasterCodecs As New RasterCodecs() 
      ' Use 300 DPI when loading document images 
      rasterCodecs.Options.RasterizeDocument.Load.Resolution = 300 
 
      ' Get the size and number of pages in the document 
      Dim pagePixelWidth As Integer 
      Dim pagePixelHeight As Integer 
      Dim pageCount As Integer 
 
      Using codecsImageInfo As CodecsImageInfo = rasterCodecs.GetInformation(sourceFile, True) 
         pagePixelWidth = codecsImageInfo.Width 
         pagePixelHeight = codecsImageInfo.Height 
         pageCount = codecsImageInfo.TotalPages 
      End Using 
 
      ' Create a raster image that will contain all the pages as a long stripe. We want to restrict this image size to 200 pixels wide to save memory 
      Dim imageWidth As Integer = 200 
      Dim factor As Double = CType(CType(imageWidth, Double) / pagePixelWidth, Double) 
      Dim imageHeight As Integer = CType(factor * pagePixelHeight * pageCount + 0.5, Integer) 
 
      ' Create the raster image 
      Using rasterImage As RasterImage = rasterImage.Create(imageWidth, imageHeight, 32, 96, RasterColor.FromKnownColor(RasterKnownColor.Transparent)) 
         Dim renderOptions As New SvgRenderOptions() 
         renderOptions.BackgroundColor = RasterColor.FromKnownColor(RasterKnownColor.Transparent) 
         renderOptions.ClipBounds = LeadRectD.Empty 
         renderOptions.UseBackgroundColor = False 
 
         For pageNumber As Integer = 1 To pageCount 
            ' Load this page as SVG 
            Using svg As SvgDocument = CType(rasterCodecs.LoadSvg(sourceFile, pageNumber, Nothing), SvgDocument) 
               ' Flat it 
               If Not svg.IsFlat Then svg.Flat(Nothing) 
               If Not svg.Bounds.IsValid Then svg.CalculateBounds(False) 
 
               ' Source is all of the page 
               renderOptions.Bounds = svg.Bounds.Bounds 
 
               ' Transfrom is for destination, translate to our location and scale by our factor 
               Dim transform As LeadMatrix = LeadMatrix.Identity 
               transform.Translate(0, (pageNumber - 1) * pagePixelHeight) 
               transform.Scale(factor, factor) 
               renderOptions.Transform = transform 
 
               ' Render this SVG to the raster image surface at the specified location and size 
               svg.Rasterize(rasterImage, renderOptions) 
            End Using 
         Next 
 
         ' Finally, save the raster image as PNG to disk 
         Dim targetFile As String = "C:\Users\Public\Documents\LEADTOOLS Images\Leadtools_pages_stripe.png" 
         rasterCodecs.Save(rasterImage, targetFile, RasterImageFormat.Png, 0) 
      End Using 
   End Using 
End Sub