Example
C#
VB
Silverlight C#
Silverlight VB
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;
using Leadtools.Windows.Media;
public void RasterRegionConverterExample()
{
// Load an image
string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");
string dstFileName1 = Path.Combine(LEAD_VARS.ImagesDir, "Image1_Ellipse.jpg");
string dstFileName2 = Path.Combine(LEAD_VARS.ImagesDir, "Image1_EllipseTranslated.jpg");
RasterCodecs codecs = new RasterCodecs();
RasterImage image = codecs.Load(srcFileName);
// We will add an ellipse region to the image
// Using WPF, create an elliptical geometry
// Create the ellipse geometry to add to the Path
EllipseGeometry ellipseGeometry = new EllipseGeometry();
ellipseGeometry.Center = new Point(250, 250);
ellipseGeometry.RadiusX = 200;
ellipseGeometry.RadiusY = 150;
Geometry geometry = ellipseGeometry;
// Create a RasterRegion from this region
using (RasterRegion region = RasterRegionConverter.ConvertFromGeometry(geometry))
{
// Add this region to the image
image.SetRegion(null, region, RasterRegionCombineMode.Set);
}
// Fill the image with a color
FillCommand cmd = new FillCommand(RasterColor.FromKnownColor(RasterKnownColor.Red));
cmd.Run(image);
// Save it
codecs.Save(image, dstFileName1, RasterImageFormat.Jpeg, 24);
// Now get the WPF geometry from the image
using (RasterRegion region = image.GetRegion(null))
{
geometry = RasterRegionConverter.ConvertToGeometry(region, null);
}
// Move the geometry 100 pixels to the right and bottom
geometry.Transform = new TranslateTransform(100, 100);
// Re-set it into the image, fill again and save
// Create a RasterRegion from this region
using (RasterRegion region = RasterRegionConverter.ConvertFromGeometry(geometry))
{
// Add this region to the image
image.SetRegion(null, region, RasterRegionCombineMode.Set);
}
// Fill the image with a color
cmd = new FillCommand(RasterColor.FromKnownColor(RasterKnownColor.Yellow));
cmd.Run(image);
// Save it
codecs.Save(image, dstFileName2, RasterImageFormat.Jpeg, 24);
image.Dispose();
codecs.Dispose();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing
Imports Leadtools.Windows.Media
Public Sub RasterRegionConverterExample()
' Load an image
Dim srcFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp")
Dim dstFileName1 As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1_Ellipse.jpg")
Dim dstFileName2 As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1_EllipseTranslated.jpg")
Dim codecs As New RasterCodecs()
Dim image As RasterImage = codecs.Load(srcFileName)
' We will add an ellipse region to the image
' Using WPF, create an elliptical geometry
' Create the ellipse geometry to add to the Path
Dim ellipseGeometry As New EllipseGeometry()
ellipseGeometry.Center = New Point(250, 250)
ellipseGeometry.RadiusX = 200
ellipseGeometry.RadiusY = 150
Dim geometry As Geometry = ellipseGeometry
' Create a RasterRegion from this region
Using region As RasterRegion = RasterRegionConverter.ConvertFromGeometry(geometry)
' Add this region to the image
image.SetRegion(Nothing, region, RasterRegionCombineMode.Set)
End Using
' Fill the image with a color
Dim cmd As New FillCommand(RasterColor.FromKnownColor(RasterKnownColor.Red))
cmd.Run(image)
' Save it
codecs.Save(image, dstFileName1, RasterImageFormat.Jpeg, 24)
' Now get the WPF geometry from the image
Using region As RasterRegion = image.GetRegion(Nothing)
geometry = RasterRegionConverter.ConvertToGeometry(region, Nothing)
End Using
' Move the geometry 100 pixels to the right and bottom
geometry.Transform = New TranslateTransform(100, 100)
' Re-set it into the image, fill again and save
' Create a RasterRegion from this region
Using region As RasterRegion = RasterRegionConverter.ConvertFromGeometry(geometry)
' Add this region to the image
image.SetRegion(Nothing, region, RasterRegionCombineMode.Set)
End Using
' Fill the image with a color
cmd = New FillCommand(RasterColor.FromKnownColor(RasterKnownColor.Yellow))
cmd.Run(image)
' Save it
codecs.Save(image, dstFileName2, RasterImageFormat.Jpeg, 24)
image.Dispose()
codecs.Dispose()
End Sub
Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;
using Leadtools.Windows.Media;
public void RasterRegionConverterExample()
{
// Load an image
string srcFileName = LeadtoolsExamples.Common.ImagesPath.Path + "Image1.cmp";
RasterCodecs codecs = new RasterCodecs();
RasterImage image = codecs.Load(srcFileName);
// We will add a region to the image
RasterRegion region = new RasterRegion(new LeadRect(250, 250, 200, 150));
image.SetRegion(null, region, RasterRegionCombineMode.Set);
// Now get the WPF geometry from the image
Geometry geometry;
using (RasterRegion rgn = image.GetRegion(null))
{
geometry = RasterRegionConverter.ConvertToGeometry(region, null);
// Create a Path to be drawn to the screen.
System.Windows.Shapes.Path myPath = new System.Windows.Shapes.Path();
SolidColorBrush mySolidColorBrush = new SolidColorBrush();
mySolidColorBrush.Color = Color.FromArgb(255, 204, 204, 255);
myPath.Fill = mySolidColorBrush;
myPath.Data = geometry;
// Add path shape to the UI.
StackPanel mainPanel = new StackPanel();
mainPanel.Children.Add(myPath);
}
image.Dispose();
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing
Imports Leadtools.Windows.Media
Public Sub RasterRegionConverterExample()
' Load an image
Dim srcFileName As String = LeadtoolsExamples.Common.ImagesPath.Path & "Image1.cmp"
Dim codecs As RasterCodecs = New RasterCodecs()
Dim image As RasterImage = codecs.Load(srcFileName)
' We will add a region to the image
Dim region As RasterRegion = New RasterRegion(New LeadRect(250, 250, 200, 150))
image.SetRegion(Nothing, region, RasterRegionCombineMode.Set)
' Now get the WPF geometry from the image
Dim geometry As Geometry
Using rgn As RasterRegion = image.GetRegion(Nothing)
geometry = RasterRegionConverter.ConvertToGeometry(region, Nothing)
' Create a Path to be drawn to the screen.
Dim myPath As System.Windows.Shapes.Path = New System.Windows.Shapes.Path()
Dim mySolidColorBrush As SolidColorBrush = New SolidColorBrush()
mySolidColorBrush.Color = Color.FromArgb(255, 204, 204, 255)
myPath.Fill = mySolidColorBrush
myPath.Data = geometry
' Add path shape to the UI.
Dim mainPanel As StackPanel = New StackPanel()
mainPanel.Children.Add(myPath)
End Using
image.Dispose()
End Sub