Gets the overlay image for the specified index.
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 LeadtoolsExamples.Common;
using Leadtools.Svg;
public void GetOverlayImageExample()
{
RasterCodecs codecs = new RasterCodecs();
// load an image and set an overlay
RasterImage image = codecs.Load(Path.Combine(ImagesPath.Path, "IMAGE2.DCM"), 0, CodecsLoadByteOrder.BgrOrGray, 1, 1);
RasterImage imageOverlay1 = codecs.Load(Path.Combine(ImagesPath.Path, "ULAY1.BMP"), 1, CodecsLoadByteOrder.Rgb, 1, 1);
RasterImage imageOverlay2 = codecs.Load(Path.Combine(ImagesPath.Path, "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(ImagesPath.Path, "overlay{0}_copy.bmp"), i);
codecs.Save(overlayTest, fileName, RasterImageFormat.Bmp, 1);
}
}
image.Dispose();
imageOverlay1.Dispose();
imageOverlay2.Dispose();
codecs.Dispose();
}
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:\Users\Public\Documents\LEADTOOLS Images"
End Class
c#[Silverlight C# Example]
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Dicom;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Core;
using Leadtools.ImageProcessing.Color;
using Leadtools.Examples;
using Leadtools.Windows.Media;
public void GetOverlayImageExample(RasterImage image, RasterImage imageOverlay1, RasterImage imageOverlay2, Stream destStream1, Stream destStream2)
{
// for this sample:
// image == 24-bit image (image1.cmp)
// imageOverlay1 == 1-bit image (ulay1.bmp)
// imageOverlay2 == 1-bit image (ulay2.bmp)
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);
RasterCodecs codecs = new RasterCodecs();
int count = image.OverlayCount;
Debug.Assert(count == 2);
RasterImage overlayTest = image.GetOverlayImage(0, RasterGetSetOverlayImageMode.NoCopy);
codecs.Save(overlayTest, destStream1, RasterImageFormat.Png, 1);
overlayTest = image.GetOverlayImage(0, RasterGetSetOverlayImageMode.NoCopy);
codecs.Save(overlayTest, destStream2, RasterImageFormat.Png, 1);
image.Dispose();
overlayTest.Dispose();
imageOverlay1.Dispose();
imageOverlay2.Dispose();
}
vb[Silverlight VB Example]
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.Dicom
Imports Leadtools.ImageProcessing
Imports Leadtools.ImageProcessing.Core
Imports Leadtools.ImageProcessing.Color
Imports Leadtools.Windows.Media
Public Sub GetOverlayImageExample(ByVal image As RasterImage, ByVal imageOverlay1 As RasterImage, ByVal imageOverlay2 As RasterImage, ByVal destStream1 As Stream, ByVal destStream2 As Stream)
' for this sample:
' image == 24-bit image (image1.cmp)
' imageOverlay1 == 1-bit image (ulay1.bmp)
' imageOverlay2 == 1-bit image (ulay2.bmp)
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 codecs As RasterCodecs = New RasterCodecs()
Dim count As Integer = image.OverlayCount
Debug.Assert(count = 2)
Dim overlayTest As RasterImage = image.GetOverlayImage(0, RasterGetSetOverlayImageMode.NoCopy)
codecs.Save(overlayTest, destStream1, RasterImageFormat.Png, 1)
overlayTest = image.GetOverlayImage(0, RasterGetSetOverlayImageMode.NoCopy)
codecs.Save(overlayTest, destStream2, RasterImageFormat.Png, 1)
image.Dispose()
overlayTest.Dispose()
imageOverlay1.Dispose()
imageOverlay2.Dispose()
End Sub
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