public enum LeadFillMode
typedef NS_ENUM(NSInteger, LTLeadFillMode) {
LTLeadFillModeAlternate,
LTLeadFillModeWinding
};
public final class LeadFillMode
extends java.lang.Enum<LeadFillMode>
public enum class LeadFillMode
class LeadFillMode(Enum):
Alternate = 0
Winding = 1
Value | Member | Description |
---|---|---|
0 | Alternate | The filled area includes the area between odd-numbered and even-numbered polygon sides on each scan line. |
1 | Winding | All pixels that are inside the resulting exterior lines are filled. |
The following figure describes how fill mode is used:
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Core;
using Leadtools.ImageProcessing.Color;
using Leadtools.Dicom;
using Leadtools.Drawing;
using Leadtools.Controls;
using Leadtools.Svg;
public void AddPolygonToRegionExample()
{
RasterCodecs codecs = new RasterCodecs();
string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");
string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1_AddPolygonToRegion.bmp");
// Load the image
RasterImage image = codecs.Load(srcFileName);
// Add a polygon region
RasterRegionXForm xform = new RasterRegionXForm();
xform.ViewPerspective = RasterViewPerspective.TopLeft;
xform.XOffset = 0;
xform.YOffset = 0;
xform.XScalarDenominator = 1;
xform.XScalarNumerator = 1;
xform.YScalarDenominator = 1;
xform.YScalarNumerator = 1;
int x1 = image.ImageWidth / 4;
int y1 = image.ImageHeight / 4;
int x2 = image.ImageWidth / 3;
int y2 = image.ImageHeight / 3;
LeadPoint[] pts =
{
new LeadPoint(x1, y1),
new LeadPoint(x2, y1),
new LeadPoint(x1, y2),
new LeadPoint(x2, y2)
};
image.AddPolygonToRegion(xform, pts, LeadFillMode.Winding, RasterRegionCombineMode.Set);
// Draw something on the image
InvertCommand command = new InvertCommand();
command.Run(image);
// Save the image
codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24);
image.Dispose();
codecs.Dispose();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
}
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import org.junit.*;
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
import static org.junit.Assert.*;
import leadtools.*;
import leadtools.codecs.*;
import leadtools.imageprocessing.core.*;
import leadtools.svg.*;
import leadtools.imageprocessing.CloneCommand;
import leadtools.imageprocessing.FillCommand;
import leadtools.imageprocessing.FlipCommand;
import leadtools.imageprocessing.GrayscaleCommand;
import leadtools.imageprocessing.color.InvertCommand;
import leadtools.imageprocessing.color.PosterizeCommand;
public void addPolygonToRegionExample() {
final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images";
RasterCodecs codecs = new RasterCodecs();
String srcFileName = combine(LEAD_VARS_IMAGES_DIR, "Image1.cmp");
String destFileName = combine(LEAD_VARS_IMAGES_DIR, "Image1_AddPolygonToRegion.bmp");
// Load the image
RasterImage image = codecs.load(srcFileName);
// Add a polygon region
RasterRegionXForm xform = new RasterRegionXForm();
xform.setRasterViewPerspective(RasterViewPerspective.TOP_LEFT);
xform.setXOffset(0);
xform.setYOffset(0);
xform.setXScalarDenominator(1);
xform.setXScalarNumerator(1);
xform.setYScalarDenominator(1);
xform.setYScalarNumerator(1);
int x1 = image.getImageWidth() / 4;
int y1 = image.getImageHeight() / 4;
int x2 = image.getImageWidth() / 3;
int y2 = image.getImageHeight() / 3;
LeadPoint[] pts = { new LeadPoint(x1, y1), new LeadPoint(x2, y1), new LeadPoint(x1, y2), new LeadPoint(x2, y2) };
image.addPolygonToRegion(xform, pts, LeadFillMode.WINDING, RasterRegionCombineMode.SET);
// Draw something on the image
InvertCommand command = new InvertCommand();
command.run(image);
// Save it
codecs.save(image, destFileName, RasterImageFormat.BMP, 24);
// Clean up
image.dispose();
codecs.dispose();
assertTrue("file unsuccessfully saved to " + destFileName, (new File(destFileName)).exists());
System.out.printf("File saved successfully to %s%n", 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