Gets the overlay image for the specified index.
public Leadtools.RasterImage GetOverlayImage(
int index,
Leadtools.RasterGetSetOverlayImageMode mode
)
Public Function GetOverlayImage( _
ByVal index As Integer, _
ByVal mode As Leadtools.RasterGetSetOverlayImageMode _
) As Leadtools.RasterImage
public Leadtools.RasterImage GetOverlayImage(
int index,
Leadtools.RasterGetSetOverlayImageMode mode
)
- (nullable LTRasterImage *)getOverlayForImageAtIndex:(NSInteger)index
mode:(LTRasterGetSetOverlayImageMode)mode
error:(NSError **)error
function Leadtools.RasterImage.GetOverlayImage(
index ,
mode
)
public:
Leadtools.RasterImage^ GetOverlayImage(
int index,
Leadtools.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
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();
}
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
Products |
Support |
Feedback: GetOverlayImage Method - Leadtools |
Introduction |
Help Version 19.0.2017.6.19
|
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET
Your email has been sent to support! Someone should be in touch! If your matter is urgent please come back into chat.
Chat Hours:
Monday - Friday, 8:30am to 6pm ET
Thank you for your feedback!
Please fill out the form again to start a new chat.
All agents are currently offline.
Chat Hours:
Monday - Friday
8:30AM - 6PM EST
To contact us please fill out this form and we will contact you via email.