←Select platform

SvgRenderOptions Constructor

Summary
Initializes a new instance of SvgRenderOptions
Syntax
C#
Objective-C
C++/CLI
Java
Python
- (instancetype)init 
public SvgRenderOptions() 
public: 
SvgRenderOptions(); 
__init__() # Default constructor 
Remarks

This constructor initializes the members of SvgRenderOptions as follows:

Member Value
Bounds

An empty Leadtools.LeadRectD, which means the current physical bounds of the document (Bounds.Bounds) will be used

ClipBounds

An empty rectangle used when rendering the complete document

Transform

Identity Leadtools.LeadMatrix

UseBackgroundColor

true

BackgroundColor

White color

Example
C#
Java
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Drawing; 
using Leadtools.Forms.DocumentWriters; 
using Leadtools.Svg; 
 
using Leadtools.Document.Writer; 
 
public void SvgDocumentRenderExample() 
{ 
   // Create a form with a picture box 
   Form form = new Form(); 
   PictureBox pictureBox = new PictureBox(); 
   pictureBox.Dock = DockStyle.Fill; 
   form.Controls.Add(pictureBox); 
 
   SvgDocument document = null; 
 
   // Load a page from a document file as SVG 
   string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Leadtools.pdf"); 
   using (var codecs = new RasterCodecs()) 
   { 
      // Set 300 as the default value for loading document files 
      codecs.Options.RasterizeDocument.Load.Resolution = 300; 
 
      document = codecs.LoadSvg(srcFileName, 1, null) as SvgDocument; 
   } 
 
   // Make sure the document is valid for rendering 
   if (!document.IsFlat) 
      document.Flat(null); 
   if (!document.Bounds.IsValid) 
      document.CalculateBounds(false); 
 
   // Optimize it for rendering to increase the speed 
   document.BeginRenderOptimize(); 
   Console.WriteLine("IsRenderOptimized is " + document.IsRenderOptimized); 
 
   // This is our paint code 
   pictureBox.Paint += (sender, e) => 
   { 
      Graphics graphics = e.Graphics; 
 
      // We will fit and center this SVG document in the client area of the picture box 
      Rectangle dstBounds = pictureBox.ClientRectangle; 
      if (dstBounds.Width < 1 || dstBounds.Height < 1) 
         return; 
 
      // Create the transformation matrix 
      LeadMatrix transform = LeadMatrix.Identity; 
      LeadRectD srcBounds = document.Bounds.Bounds; 
 
      // Calculate the zoom so we can fit 
      double zoom = 1.0; 
      if (dstBounds.Width > dstBounds.Height) 
      { 
         zoom = dstBounds.Width / srcBounds.Width; 
         if ((zoom * srcBounds.Height) > dstBounds.Height) 
            zoom = dstBounds.Height / srcBounds.Height; 
      } 
      else 
      { 
         zoom = dstBounds.Height / srcBounds.Height; 
         if ((zoom * srcBounds.Width) > dstBounds.Width) 
            zoom = dstBounds.Width / srcBounds.Width; 
      } 
 
      // We have the zoom factor, set it in the transform 
      transform.Scale(zoom, zoom); 
 
      // Center 
      double xOffset = (dstBounds.Width - (zoom * srcBounds.Width)) / 2.0; 
      double yOffset = (dstBounds.Height - (zoom * srcBounds.Height)) / 2.0; 
      transform.Translate(xOffset, yOffset); 
 
      // Now setup the rendering options 
      SvgRenderOptions options = new SvgRenderOptions(); 
      // Use our transform 
      options.Transform = transform; 
      // clipping (if any) 
      options.ClipBounds = LeadRectD.Create(e.ClipRectangle.X, e.ClipRectangle.Y, e.ClipRectangle.Width, e.ClipRectangle.Height); 
      // Fill the background with a white color 
      options.UseBackgroundColor = true; 
      options.BackgroundColor = RasterColor.FromKnownColor(RasterKnownColor.White); 
      options.Bounds = srcBounds; 
 
      // Create a rendering engine 
      using (var engine = RenderingEngineFactory.Create(graphics)) 
      { 
         // Render the document 
         document.Render(engine, options); 
      } 
   }; 
 
   form.SizeChanged += (sender, e) => pictureBox.Invalidate(); 
 
   form.ShowDialog(); 
 
   document.Dispose(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 
} 
 
import java.io.ByteArrayInputStream; 
import java.io.ByteArrayOutputStream; 
import java.io.File; 
import java.io.FileInputStream; 
import java.io.FileOutputStream; 
import java.io.IOException; 
import java.io.ObjectInputStream; 
import java.io.ObjectOutputStream; 
import java.io.PrintStream; 
import java.nio.file.FileVisitOption; 
import java.nio.file.Files; 
import java.nio.file.Path; 
import java.nio.file.Paths; 
import java.util.stream.Stream; 
 
import org.junit.*; 
import org.junit.runner.JUnitCore; 
import org.junit.runner.Result; 
import org.junit.runner.notification.Failure; 
import static org.junit.Assert.*; 
 
import leadtools.*; 
import leadtools.codecs.*; 
import leadtools.document.writer.*; 
import leadtools.svg.*; 
 
 
public void svgDocumentRenderExample() { 
   // Skipped due to java ui 
} 
Requirements

Target Platforms

Help Version 23.0.2024.2.29
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Svg Assembly

Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.