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