public void Transform(
RasterRegionXForm xform
)
- (BOOL)transform:(LTRasterRegionXForm *)xform error:(NSError **)error
public void transform(
RasterRegionXForm xform
);
public:
void Transform(
RasterRegionXForm^ xform
)
def Transform(self,xform):
xform
The RasterRegionXForm by which to transform this region
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.
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);
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document