public RasterImage GetOverlayImage(int index,RasterGetSetOverlayImageMode mode)
Public Function GetOverlayImage( _ByVal index As Integer, _ByVal mode As RasterGetSetOverlayImageMode _) As RasterImage
- (nullable LTRasterImage *)getOverlayForImageAtIndex:(NSInteger)indexmode:(LTRasterGetSetOverlayImageMode)modeerror:(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 overlayRasterImage 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 overlaysRasterOverlayAttributes 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 LeadtoolsImports Leadtools.CodecsImports Leadtools.ImageProcessingImports Leadtools.ImageProcessing.CoreImports Leadtools.ImageProcessing.ColorImports Leadtools.ControlsImports Leadtools.DicomImports Leadtools.DrawingImports Leadtools.SvgPublic Sub GetOverlayImageExample()Dim codecs As RasterCodecs = New RasterCodecs()' load an image and set an overlayDim 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 overlaysDim attributes As RasterOverlayAttributes = image.GetOverlayAttributes(0, RasterGetSetOverlayAttributesFlags.Color Or RasterGetSetOverlayAttributesFlags.Flags OrRasterGetSetOverlayAttributesFlags.Origin Or RasterGetSetOverlayAttributesFlags.BitIndex)attributes.Color = New RasterColor(255, 255, 255)attributes.AutoPaint = Trueattributes.AutoProcess = Trueattributes.Origin = New LeadPoint(5, 5)attributes.BitPosition = image.BitsPerPixel - 1image.UpdateOverlayAttributes(0, attributes, RasterGetSetOverlayAttributesFlags.Color OrRasterGetSetOverlayAttributesFlags.Flags Or RasterGetSetOverlayAttributesFlags.Origin OrRasterGetSetOverlayAttributesFlags.BitIndex)Dim count As Integer = image.OverlayCountDim i As Integer = 0Do While i < countDim overlayTest As RasterImage = image.GetOverlayImage(i, RasterGetSetOverlayImageMode.NoCopy)TryDim fileName As String = String.Format(Path.Combine(LEAD_VARS.ImagesDir, "overlay{0}_copy.bmp"), i)codecs.Save(overlayTest, fileName, RasterImageFormat.Bmp, 1)FinallyCType(overlayTest, IDisposable).Dispose()End Tryi += 1Loopimage.Dispose()imageOverlay1.Dispose()imageOverlay2.Dispose()codecs.Dispose()End SubPublic NotInheritable Class LEAD_VARSPublic 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
