Leadtools Namespace > RasterRegion Class : Transform Method |
public void Transform( RasterRegionXForm xform )
'Declaration Public Sub Transform( _ ByVal xform As RasterRegionXForm _ )
'Usage Dim instance As RasterRegion Dim xform As RasterRegionXForm instance.Transform(xform)
public void Transform( RasterRegionXForm xform )
function Leadtools.RasterRegion.Transform( xform )
public: void Transform( RasterRegionXForm^ xform )
The RasterRegionXForm.ViewPerspective member of xform is ignored by this method. For more information, refer to RasterRegionXForm.
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
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"; }
RasterRegionExamples.prototype.RasterRegionTransformExample = function () { Tools.SetLicense(); with (Leadtools) { with (Leadtools.Codecs) { var codecs = new RasterCodecs(); var srcFileName = "Assets\\Image1.cmp"; var destFileName = "Image1_TransformRegion.bmp"; var image; // Load the source image return Tools.AppInstallFolder().getFileAsync(srcFileName).then(function (loadFile) { return codecs.loadAsync(LeadStreamFactory.create(loadFile), 0, CodecsLoadByteOrder.bgr, 1, 1) }) .then(function (img) { image = img; // Add a large elliptical region image.addEllipseToRegion(null, LeadRectHelper.create(0, 0, image.imageWidth, image.imageHeight), RasterRegionCombineMode.set); // Fill the image with yellow var cmd = new Leadtools.ImageProcessing.FillCommand(RasterColorHelper.fromKnownColor(RasterKnownColor.yellow)); cmd.run(image); // Get the region var region = image.getRegion(null) // Transform this region by making it twice as small var bounds = region.getBounds(); var 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); region.close(); // Now fill with red and save cmd = new Leadtools.ImageProcessing.FillCommand(RasterColorHelper.fromKnownColor(RasterKnownColor.red)); cmd.run(image); return Tools.AppLocalFolder().createFileAsync(destFileName) }) .then(function (saveFile) { var saveStream = LeadStreamFactory.create(saveFile); return codecs.saveAsync(image, saveStream, RasterImageFormat.bmp, 24) }) .then(function () { image.close(); codecs.close(); }); } } }
[TestMethod] public async Task RasterRegionTransformExample() { RasterCodecs codecs = new RasterCodecs(); string srcFileName = @"Assets\Image1.cmp"; string destFileName = "Image1_TransformRegion.bmp"; // Load the source image StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName); using (RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile), 0, CodecsLoadByteOrder.Bgr, 1, 1)) { // Add a large elliptical region image.AddEllipseToRegion(null, LeadRectHelper.Create(0, 0, image.ImageWidth, image.ImageHeight), RasterRegionCombineMode.Set); // Fill the image with yellow FillCommand cmd = new FillCommand(RasterColorHelper.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(RasterColorHelper.FromKnownColor(RasterKnownColor.Red)); cmd.Run(image); StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(destFileName); ILeadStream saveStream = LeadStreamFactory.Create(saveFile); await codecs.SaveAsync(image, saveStream, RasterImageFormat.Bmp, 24); } codecs.Dispose(); }
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2