Transforms this
RasterRegion by the specified
RasterRegionXForm.
Supported in Silverlight, Windows Phone 7
Syntax
Example
This example will create a large elliptical region in an image and fill it with yellow. It will then transform this region by making it twice as small and fill the new region with red.
Visual Basic | Copy Code |
---|
Public Sub RasterRegionTransformExample()
Dim codecs As New RasterCodecs()
Dim srcFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp")
Dim destFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1_TransformRegion.bmp")
' Load the source image
Using image As RasterImage = codecs.Load(srcFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1)
' Add a large elliptical region
image.AddEllipseToRegion(Nothing, New LeadRect(0, 0, image.ImageWidth, image.ImageHeight), RasterRegionCombineMode.Set)
' Fill the image with yellow
Dim cmd As New FillCommand(RasterColor.FromKnownColor(RasterKnownColor.Yellow))
cmd.Run(image)
' Get the region
Using region As RasterRegion = image.GetRegion(Nothing)
' Transform this region by making it twice as small
Dim bounds As LeadRect = region.GetBounds()
Dim xform As RasterRegionXForm = RasterRegionXForm.Default
xform.XScalarNumerator = 1
xform.XScalarDenominator = 2
xform.YScalarNumerator = 1
xform.YScalarDenominator = 2
xform.XOffset = bounds.Width \ 2
xform.YOffset = bounds.Height \ 2
region.Transform(xform)
' Re-set this region into the image
image.SetRegion(Nothing, region, RasterRegionCombineMode.Set)
End Using
' Now fill with red and save
cmd = New FillCommand(RasterColor.FromKnownColor(RasterKnownColor.Red))
cmd.Run(image)
codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24)
End Using
codecs.Dispose()
End Sub
Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class |
C# | Copy Code |
---|
public void RasterRegionTransformExample()
{
RasterCodecs codecs = new RasterCodecs();
string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");
string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1_TransformRegion.bmp");
// Load the source image
using(RasterImage image = codecs.Load(srcFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1))
{
// Add a large elliptical region
image.AddEllipseToRegion(null, new LeadRect(0, 0, image.ImageWidth, image.ImageHeight), RasterRegionCombineMode.Set);
// Fill the image with yellow
FillCommand cmd = new FillCommand(RasterColor.FromKnownColor(RasterKnownColor.Yellow));
cmd.Run(image);
// Get the region
using(RasterRegion region = image.GetRegion(null))
{
// Transform this region by making it twice as small
LeadRect bounds = region.GetBounds();
RasterRegionXForm xform = RasterRegionXForm.Default;
xform.XScalarNumerator = 1;
xform.XScalarDenominator = 2;
xform.YScalarNumerator = 1;
xform.YScalarDenominator = 2;
xform.XOffset = bounds.Width / 2;
xform.YOffset = bounds.Height / 2;
region.Transform(xform);
// Re-set this region into the image
image.SetRegion(null, region, RasterRegionCombineMode.Set);
}
// Now fill with red and save
cmd = new FillCommand(RasterColor.FromKnownColor(RasterKnownColor.Red));
cmd.Run(image);
codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24);
}
codecs.Dispose();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
} |
SilverlightCSharp | Copy Code |
---|
|
SilverlightVB | Copy Code |
---|
|
Remarks
Requirements
Target Platforms: Silverlight, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7, MAC OS/X (Intel Only), Windows Phone 7
See Also