←Select platform

SetOverlayImage Method

Summary
Sets the "Overlay Data" (60xx,3000) for a certain overlay index.
Syntax
C#
C++/CLI
Java
public void SetOverlayImage( 
   int index, 
   RasterImage overlayImage 
) 
public void setOverlayImage(int index, RasterImage image) 
public: 
void SetOverlayImage(  
   int index, 
   RasterImage^ overlayImage 
)  

Parameters

index
The zero-based index of the overlay being affected.

overlayImage
Image which will be used to update the overlay data. Cannot be null.

Remarks

This method will update the stream of bytes under the "Overlay Data" (60xx, 3000) element with the data in the passed image. This method will fail if the image width does not match the "Overlay Columns" (60xx, 0011) or if the image height does not match the "Overlay Rows" (60xx, 0011) for the overlay being updated.

Example
C#
using Leadtools; 
using Leadtools.Dicom; 
 
 
public void TestOverlay() 
{ 
   string dicomFileName = Path.Combine(LEAD_VARS.ImagesDir, "DICOM", "Overlay.dcm"); 
   //Make sure to initialize the DICOM engine, this needs to be done only once  
   //In the whole application 
   DicomEngine.Startup(); 
   using (DicomDataSet ds = new DicomDataSet()) 
   { 
      //Load DICOM File 
      ds.Load(dicomFileName, DicomDataSetLoadFlags.None); 
 
      if (ds.OverlayCount > 0) 
      { 
         RasterOverlayAttributes attributes = ds.GetOverlayAttributes(0); 
         if (attributes != null) 
         { 
            // We can call in here methods like GetOverlayGroupNumber, IsOverlayInDataset  
            // and GetOverlayActivationLayer to get some further infromation about the overlay 
 
            //Let's get the overlay Image, If RasterOverlayAttributes.NumFramesInOverlay  
            //Is greater than 1 we can call GetOverlayImages to extract all the frames 
            RasterImage overlayImage = ds.GetOverlayImage(0); 
            if (overlayImage != null) 
            { 
               using (DicomDataSet ds1 = new DicomDataSet()) 
               { 
                  ds1.Initialize(DicomClassType.DXImageStoragePresentation, DicomDataSetInitializeType.ExplicitVRLittleEndian); 
                  ds1.SetOverlayAttributes(0, attributes, DicomSetOverlayFlags.None); 
                  ds1.SetOverlayImage(0, overlayImage);//We can call SetOverlayImages if the overlay has more than one frame 
                  ds1.Save(Path.Combine(LEAD_VARS.ImagesDir, "DICOM", "NewOverlay.dcm"), DicomDataSetSaveFlags.None); 
               } 
            } 
         } 
      } 
   } 
   DicomEngine.Shutdown(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 
} 
Requirements

Target Platforms

Help Version 23.0.2024.2.29
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Dicom Assembly