Visual Basic (Declaration) | |
---|---|
Public Function GetRegionClipSegments( _ ByVal row As Integer, _ ByVal segmentsBuffer() As Integer, _ ByVal segmentsBufferOffset As Integer _ ) As Integer |
Visual Basic (Usage) | Copy Code |
---|---|
|
C# | |
---|---|
public int GetRegionClipSegments( int row, int[] segmentsBuffer, int segmentsBufferOffset ) |
C++/CLI | |
---|---|
public: int GetRegionClipSegments( int row, array<int>^ segmentsBuffer, int segmentsBufferOffset ) |
Parameters
- row
- The number of the row for which to get the segments. The first row is 0, and the last row is 1 less than the image height.
- segmentsBuffer
- Buffer to be updated with the segments from row contained in the region.
- segmentsBufferOffset
- Zero based index into segmentsBuffer.
Return Value
The number of segments from row that are contained in the region.This example sets the value of pixels inside a region to half intensity.
Visual Basic | Copy Code |
---|---|
Public Sub GetRegionClipSegmentsExample() |
C# | Copy Code |
---|---|
public void GetRegionClipSegmentsExample() |
To use this method, first call GetRegionBounds with xform set to null (Nothing in Visual Basic), to get the image boundaries. The bounding rectangle will indicate which rows are contained in the region. Go through all the rows contained in the region to get the segments contained in the region.
The segments are returned as an array of pairs of horizontal offsets. The first point in the pair is the beginning of the segment (it is contained in the region). The last point in the pair is the end of the segment. To follow the Windows rules, the end of the segment is the first point NOT CONTAINED in the region.
In most regions, there will be one segment per row. However, some regions can have 0, 1, 2 or more segments.
For example, assume that for a particular row there are two segments. segmentBuffer will be filled with 4 values. Let's call them x0, x1, x2, x3. In this case:
portion from 0 to x0 - 1 is OUTSIDE the region portion from x0 to x1 - 1 is INSIDE the region portion from x1 to x2 - 1 is OUTSIDE the region portion from x2 to x3 - 1 is INSIDE the region portion from x3 to Width - 1 is OUTSIDE the region
Target Platforms: Microsoft .NET Framework 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family