Products | Support | Email a link to this topic. | Send comments on this topic. | Back to Introduction - All Topics | Help Version 19.0.6.28
|
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 )
- (BOOL)transform:(LTRasterRegionXForm *)xform error:(NSError **)error
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.
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.
Imports Leadtools Imports Leadtools.Codecs Imports Leadtools.ImageProcessing 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
using Leadtools; using Leadtools.Codecs; using Leadtools.ImageProcessing; public void RasterRegionTransformExample() { string srcFileName = Path.Combine(ImagesPath.Path, "Image1.cmp"); string destFileName = Path.Combine(ImagesPath.Path, "Image1_TransformRegion.bmp"); using (RasterCodecs codecs = new RasterCodecs()) { // 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); } } }
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(); }); } } }
using Leadtools; using Leadtools.Codecs; using Leadtools.ImageProcessing; 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(); }