Burn Method (original) (raw)
Summary
Burns the annotation objects in Container to the destination context using the existing destination rectangle and resolution (DPI).
Syntax
C#
Objective-C
C++/CLI
Java
Python
public virtual void Burn()
public:
virtual void Burn()
Example
using Leadtools.Annotations.Automation;
using Leadtools.Annotations.Engine;
using Leadtools.Annotations.Rendering;
using Leadtools.Codecs;
using Leadtools.Annotations;
using Leadtools.WinForms;
public void AnnRenderingEngine_BurnToRectWithDpi(/*RasterImage image*/)
{
// _viewer is ImageViewer _automation is working on
// Get the container
AnnContainer container = _automation.Container;
RasterImage image = _viewer.Image;
double inch = 720.0;
// Add a red line object, from 1in 1in to 2in 2in
AnnPolylineObject lineObj = new AnnPolylineObject();
lineObj.Points.Add(LeadPointD.Create(1 * inch, 1 * inch));
lineObj.Points.Add(LeadPointD.Create(2 * inch, 2 * inch));
lineObj.Stroke = AnnStroke.Create(AnnSolidColorBrush.Create("Red"), LeadLengthD.Create(1));
container.Children.Add(lineObj);
// Add a blue on yellow rectangle from 3in 3in to 4in 4in
AnnRectangleObject rectObj = new AnnRectangleObject();
rectObj.Rect = LeadRectD.Create(3 * inch, 3 * inch, 1 * inch, 1 * inch);
rectObj.Stroke = AnnStroke.Create(AnnSolidColorBrush.Create("Blue"), LeadLengthD.Create(1));
rectObj.Fill = AnnSolidColorBrush.Create("Yellow");
container.Children.Add(rectObj);
IAnnAutomationControl annAutomationControl = _automation.AutomationControl;
RasterColor[] colors = image.GetPalette();
IntPtr hDC = Leadtools.Drawing.RasterImagePainter.CreateLeadDC(image);
if (hDC != null)
{
using (Graphics g = Graphics.FromHdc(hDC))
{
// Create a new rendering engine for this container and context
AnnWinFormsRenderingEngine renderingEngine = new AnnWinFormsRenderingEngine(container, g);
// Set the resolution
double dpiX = g.DpiX;
double dpiY = g.DpiY;
double xRes = annAutomationControl.AutomationDpiX;
double yRes = annAutomationControl.AutomationDpiY;
// Burn it
renderingEngine.BurnToRectWithDpi(LeadRectD.Empty, dpiX, dpiY, xRes, yRes);
}
Leadtools.Drawing.RasterImagePainter.DeleteLeadDC(hDC);
}
// Delete the objects we added
_automation.SelectObjects(container.Children);
_automation.DeleteSelectedObjects();
// Invalidate to see the burned objects
_automation.Invalidate(LeadRectD.Empty);
}