CalculateRegionMaximumClipSegments Method (original) (raw)

Summary

Gets the number of elements required to hold the clip segments for any row in the region.

Syntax

C#

Objective-C

C++/CLI

Java

Python

public int CalculateRegionMaximumClipSegments() 
@property (nonatomic, assign, readonly) NSUInteger maximumClipSegmentsForRegion 
public int calculateRegionMaximumClipSegments(); 

public: int CalculateRegionMaximumClipSegments();

def CalculateRegionMaximumClipSegments(self): 

Return Value

The maximum number of segments in a row within the region.

Example

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 GetRegionClipSegmentsExample() { RasterCodecs codecs = new RasterCodecs(); string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp"); string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1_GetRegionClipSegments.bmp"); // Load the image RasterImage image = codecs.Load(srcFileName); // Add a region to the image LeadRect rc = new LeadRect(image.Width / 3, image.Height / 3, image.Width / 3, image.Height / 3); image.AddEllipseToRegion(null, rc, RasterRegionCombineMode.Set); // Set the pixels inside the region to black // Get the maximum number of elements in a row, // so we know how big the array of segments should be int maxClipSegments = image.CalculateRegionMaximumClipSegments(); // Get the region bounds, so we know which is the first row LeadRect rgnBounds = image.GetRegionBounds(null); // Allocate an array large enough to store the maximum number of segments. int[] segmentBuffer = new int[maxClipSegments]; // Loop through the region rows for (int y = rgnBounds.Top; y < rgnBounds.Bottom; y++) { // Get the segments for the row image.GetRegionClipSegments(y, segmentBuffer, 0); // Do something with the pixels for (int i = 0; i < maxClipSegments / 2; i++) { for (int j = segmentBuffer[i]; j < segmentBuffer[i + 1]; j++) { RasterColor clr = image.GetPixelColor(y, j); clr = new RasterColor(clr.R / 2, clr.G / 2, clr.B / 2); image.SetPixelColor(y, j, clr); } } } // Save the image back to file codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24); image.Dispose(); codecs.Dispose(); } static class LEAD_VARS { public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; }

Leadtools Assembly

Convert(byte[],int,int,int,int,RasterByteOrder,RasterByteOrder,RasterColor[],RasterColor[],int,int,int,RasterConvertBufferFlags) Method

Convert(byte[],int,int,int,int,RasterByteOrder,RasterByteOrder,RasterColor[],RasterColor[],RasterColor16[],RasterColor16[],int,int,int,RasterConvertBufferFlags) Method

Convert(IntPtr,int,int,int,RasterByteOrder,RasterByteOrder,RasterColor[],RasterColor[],int,int,int,RasterConvertBufferFlags) Method

Convert(IntPtr,int,int,int,RasterByteOrder,RasterByteOrder,RasterColor[],RasterColor[],RasterColor16[],RasterColor16[],int,int,int,RasterConvertBufferFlags) Method