←Select platform

XScalarNumerator Property

Summary
The numerator for the X scaling factor.
Syntax
C#
Objective-C
C++/CLI
Java
Python
public int XScalarNumerator { get; set; } 
@property (nonatomic, assign) NSInteger xScalarNumerator 
public int getXScalarNumerator(); 
public void setXScalarNumerator( 
   int intValue 
); 
public: 
property int XScalarNumerator { 
   int get(); 
   void set (    int ); 
} 
XScalarNumerator # get and set (RasterRegionXForm) 

Property Value

The numerator for the X scaling factor.

Remarks

When translating information from the image, you can use the width of the painting method destination rectangle for this value.

Methods that translate in this direction are PaintRegion and GetRegionBounds.

When translating information to the image, you can use the width of the painting method source rectangle for this value. (By default, it is the image width.)

Methods that translate in this direction include:

For more information, refer to Translating Coordinates for a Region.

Example
C#
Java
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
 
 
public void RasterRegionTransformExample() 
{ 
   string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp"); 
   string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "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); 
      } 
   } 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 
} 
 
import static org.junit.Assert.assertTrue; 
 
import java.io.File; 
import java.io.FileOutputStream; 
import java.io.IOException; 
import java.nio.file.Files; 
import java.nio.file.Paths; 
 
import org.junit.*; 
import org.junit.runner.JUnitCore; 
import org.junit.runner.Result; 
import org.junit.runner.notification.Failure; 
 
import leadtools.*; 
import leadtools.codecs.*; 
import leadtools.imageprocessing.FillCommand; 
 
 
public void rasterRegionTransformExample() { 
   final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images"; 
   String srcFileName = combine(LEAD_VARS_IMAGES_DIR, "Image1.cmp"); 
   String destFileName = combine(LEAD_VARS_IMAGES_DIR, "Image1_TransformRegion.bmp"); 
   RasterCodecs codecs = new RasterCodecs(); 
 
   // Load the source image 
   RasterImage image = codecs.load(srcFileName, 0, CodecsLoadByteOrder.BGR_OR_GRAY, 1, 1); 
 
   // Add a large elliptical region 
   image.addEllipseToRegion(null, new LeadRect(0, 0, image.getImageWidth(), image.getImageHeight()), 
         RasterRegionCombineMode.SET); 
 
   // Fill the image with yellow 
   FillCommand cmd = new FillCommand(RasterColor.fromKnownColor(RasterKnownColor.YELLOW)); 
   cmd.run(image); 
 
   // Get the region 
   RasterRegion region = image.getRegion(null); 
 
   // Transform this region by making it twice as small 
   LeadRect bounds = region.getBounds(); 
   RasterRegionXForm xform = RasterRegionXForm.Default(); 
   xform.setXScalarNumerator(1); 
   xform.setXScalarDenominator(2); 
   xform.setYScalarNumerator(1); 
   xform.setYScalarDenominator(2); 
   xform.setXOffset(bounds.getWidth() / 2); 
   xform.setYOffset(bounds.getHeight() / 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); 
 
   assertTrue("Image unsuccessfully saved", (new File(destFileName)).exists()); 
   System.out.println("Command run and image saved to " + destFileName); 
} 
Requirements

Target Platforms

Help Version 23.0.2024.5.22
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.