public RasterImage GetOverlayImage(
int index,
RasterGetSetOverlayImageMode mode
)
Public Function GetOverlayImage( _
ByVal index As Integer, _
ByVal mode As RasterGetSetOverlayImageMode _
) As RasterImage
- (nullable LTRasterImage *)getOverlayForImageAtIndex:(NSInteger)index
mode:(LTRasterGetSetOverlayImageMode)mode
error:(NSError **)error
public:
RasterImage^ GetOverlayImage(
int index,
RasterGetSetOverlayImageMode mode
)
index
The index of the overlay being retrieved. This index is zero-based and should be less or equal than MaxOverlays.
mode
Determines how to retreive the image, possible values are:
Mode | Description |
---|---|
RasterGetSetOverlayImageMode.Copy | A copy of the overlay image is retrieved from the overlay list. |
RasterGetSetOverlayImageMode.NoCopy | The actual overlay image is retrieved. No copy is made. You should be careful when modifying the returned overlay image because you can modify/invalidate the entry in the overlay bitmap list. |
RasterGetSetOverlayImageMode.Move | The actual overlay image is retrieved. The image is also removed from the overlay list. This is recommended over RasterGetSetOverlayImageMode.NoCopy. |
A RasterImage object that represents the overlay image of the specified index.
This method is available in the (Document/Medical only) Toolkits.
This method can be used to get a copy of the overlay image (RasterGetSetOverlayImageMode.Copy) or to get the image without making a copy (RasterGetSetOverlayImageMode.NoCopy or RasterGetSetOverlayImageMode.Move).
The quickest way to get the overlay image is to avoid making a copy. For more information on using RasterGetSetOverlayImageMode.NoCopy, refer to the "Remarks" section of SetOverlayImage.
For more information, refer to Overlay Overview.
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 GetOverlayImageExample()
{
RasterCodecs codecs = new RasterCodecs();
// load an image and set an overlay
RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "DICOM","image2.dcm"), 0, CodecsLoadByteOrder.BgrOrGray, 1, 1);
RasterImage imageOverlay1 = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "ulay1.bmp"), 1, CodecsLoadByteOrder.Rgb, 1, 1);
RasterImage imageOverlay2 = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "ulay1.bmp"), 1, CodecsLoadByteOrder.Rgb, 1, 1);
image.SetOverlayImage(0, imageOverlay1, RasterGetSetOverlayImageMode.Copy);
image.SetOverlayImage(1, imageOverlay2, RasterGetSetOverlayImageMode.Copy);
// update the attributes of one of the overlays
RasterOverlayAttributes attributes = image.GetOverlayAttributes(0,
RasterGetSetOverlayAttributesFlags.Color |
RasterGetSetOverlayAttributesFlags.Flags |
RasterGetSetOverlayAttributesFlags.Origin |
RasterGetSetOverlayAttributesFlags.BitIndex);
attributes.Color = new RasterColor(255, 255, 255);
attributes.AutoPaint = true;
attributes.AutoProcess = true;
attributes.Origin = new LeadPoint(5, 5);
attributes.BitPosition = image.BitsPerPixel - 1;
image.UpdateOverlayAttributes(
0,
attributes,
RasterGetSetOverlayAttributesFlags.Color |
RasterGetSetOverlayAttributesFlags.Flags |
RasterGetSetOverlayAttributesFlags.Origin |
RasterGetSetOverlayAttributesFlags.BitIndex);
int count = image.OverlayCount;
for (int i = 0; i < count; i++)
{
using (RasterImage overlayTest = image.GetOverlayImage(i, RasterGetSetOverlayImageMode.NoCopy))
{
string fileName = string.Format(Path.Combine(LEAD_VARS.ImagesDir, "overlay{0}_copy.bmp"), i);
codecs.Save(overlayTest, fileName, RasterImageFormat.Bmp, 1);
}
}
image.Dispose();
imageOverlay1.Dispose();
imageOverlay2.Dispose();
codecs.Dispose();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS21\Resources\Images";
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing
Imports Leadtools.ImageProcessing.Core
Imports Leadtools.ImageProcessing.Color
Imports Leadtools.Controls
Imports Leadtools.Dicom
Imports Leadtools.Drawing
Imports Leadtools.Svg
Public Sub GetOverlayImageExample()
Dim codecs As RasterCodecs = New RasterCodecs()
' load an image and set an overlay
Dim image As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE2.DCM"), 0, CodecsLoadByteOrder.BgrOrGray, 1, 1)
Dim imageOverlay1 As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "ULAY1.BMP"), 1, CodecsLoadByteOrder.Rgb, 1, 1)
Dim imageOverlay2 As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "ULAY1.BMP"), 1, CodecsLoadByteOrder.Rgb, 1, 1)
image.SetOverlayImage(0, imageOverlay1, RasterGetSetOverlayImageMode.Copy)
image.SetOverlayImage(1, imageOverlay2, RasterGetSetOverlayImageMode.Copy)
' update the attributes of one of the overlays
Dim attributes As RasterOverlayAttributes = image.GetOverlayAttributes(
0, RasterGetSetOverlayAttributesFlags.Color Or RasterGetSetOverlayAttributesFlags.Flags Or
RasterGetSetOverlayAttributesFlags.Origin Or RasterGetSetOverlayAttributesFlags.BitIndex)
attributes.Color = New RasterColor(255, 255, 255)
attributes.AutoPaint = True
attributes.AutoProcess = True
attributes.Origin = New LeadPoint(5, 5)
attributes.BitPosition = image.BitsPerPixel - 1
image.UpdateOverlayAttributes(0, attributes, RasterGetSetOverlayAttributesFlags.Color Or
RasterGetSetOverlayAttributesFlags.Flags Or RasterGetSetOverlayAttributesFlags.Origin Or
RasterGetSetOverlayAttributesFlags.BitIndex)
Dim count As Integer = image.OverlayCount
Dim i As Integer = 0
Do While i < count
Dim overlayTest As RasterImage = image.GetOverlayImage(i, RasterGetSetOverlayImageMode.NoCopy)
Try
Dim fileName As String = String.Format(Path.Combine(LEAD_VARS.ImagesDir, "overlay{0}_copy.bmp"), i)
codecs.Save(overlayTest, fileName, RasterImageFormat.Bmp, 1)
Finally
CType(overlayTest, IDisposable).Dispose()
End Try
i += 1
Loop
image.Dispose()
imageOverlay1.Dispose()
imageOverlay2.Dispose()
codecs.Dispose()
End Sub
Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\LEADTOOLS21\Resources\Images"
End Class
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