Indicates which method should be called when an overlay is detected inside a file.
public void StartOverlay(
CodecsOverlayCallback callback,
CodecsOverlayCallbackMode mode
)
Public Sub StartOverlay( _
ByVal callback As CodecsOverlayCallback, _
ByVal mode As CodecsOverlayCallbackMode _
)
- (BOOL)startOverlay:(nullable LTCodecsOverlayCallback)callback
mode:(LTCodecsOverlayCallbackMode)mode
error:(NSError **)error
public void startOverlay(CodecsOverlayListener listener, CodecsOverlayCallbackMode mode)
public:
void StartOverlay(
CodecsOverlayCallback^ callback,
CodecsOverlayCallbackMode mode
)
callback
The method which should be called when an overlay is detected. Use a null reference to indicate that LEADTOOLS should handle overlays automatically.
mode
Indicates when this method should be called. See CodecsOverlayCallbackMode for possible values.
Currently, only PTOCA files are known to use such overlays.
PTOCA files contain file references (i.e. filenames) to external files that contain overlay bitmaps. (These files are typically in IOCA format)
These external overlay files will be resized and placed on the current page according to the information from the PTOCA files. By default, LEADTOOLS will load these external overlay files from disk. You should override this behavior if you load files that are not stored locally (for example, on a remote storage or in a database).
To load overlays stored on other storage, you have to pass your overlay callback to this method and load the overlays in your overlay callback.
The overlay callback will be used until StopOverlay is called.
This example will read a PTOKA file and overlays a TIF file on it
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Color;
using Leadtools.Svg;
using LeadtoolsExamples.Common;
void PtokaOverlayExample(string ptokaFileName, string ptokaFilesPath)
{
RasterCodecs codecs = new RasterCodecs();
string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "PtokaOverlay.tif");
// Set up the private variables used in the callback
myCodecs = codecs;
myPtokaFilesPath = ptokaFilesPath;
// Set the overlay callback
codecs.StartOverlay(MyOverlayCallback, CodecsOverlayCallbackMode.CallLoad);
// Load the PTOKA file
RasterImage image = codecs.Load(ptokaFileName);
// Stop the overlay by resetting the old callback.
codecs.StopOverlay();
// Save the image as TIFF
codecs.Save(image, destFileName, RasterImageFormat.Tif, 1);
image.Dispose();
// Clean up
codecs.Dispose();
}
RasterCodecs myCodecs;
string myPtokaFilesPath;
void MyOverlayCallback(CodecsOverlayData data)
{
// Show overlay information
Console.WriteLine("File: {0}", data.FileName);
Console.WriteLine("Page Number: {0}", data.PageNumber);
Console.WriteLine("Info: {0}", data.Info);
// Construct the overlay file name
string overlayFileName = Path.Combine(myPtokaFilesPath, data.FileName);
if (data.Info)
{
// Info, we only need to fill in the .InfoXXX members of the data
CodecsImageInfo imageInfo = myCodecs.GetInformation(overlayFileName, false);
data.InfoWidth = imageInfo.Width;
data.InfoHeight = imageInfo.Height;
data.InfoXResolution = imageInfo.XResolution;
data.InfoYResolution = imageInfo.YResolution;
}
else
{
// We need to load the overlay image into the .Image member
data.Image = myCodecs.Load(overlayFileName);
}
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing
Imports Leadtools.ImageProcessing.Color
Imports Leadtools.Drawing
Imports Leadtools.Svg
Private Sub PtokaOverlayExample(ByVal ptokaFileName As String, ByVal ptokaFilesPath As String)
Dim codecs As RasterCodecs = New RasterCodecs()
Dim destFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "PtokaOverlay.tif")
' Set up the private variables used in the callback
myCodecs = codecs
myPtokaFilesPath = ptokaFilesPath
' Set the overlay callback
codecs.StartOverlay(AddressOf MyOverlayCallback, CodecsOverlayCallbackMode.CallLoad)
' Load the PTOKA file
Dim image As RasterImage = codecs.Load(ptokaFileName)
' Stop the overlay by resetting the old callback.
codecs.StopOverlay()
' Save the image as TIFF
codecs.Save(image, destFileName, RasterImageFormat.Tif, 1)
image.Dispose()
' Clean up
codecs.Dispose()
End Sub
Private myCodecs As RasterCodecs
Private myPtokaFilesPath As String
Private Sub MyOverlayCallback(ByVal data As CodecsOverlayData)
' Show overlay information
Console.WriteLine("File: {0}", data.FileName)
Console.WriteLine("Page Number: {0}", data.PageNumber)
Console.WriteLine("Info: {0}", data.Info)
' Construct the overlay file name
Dim overlayFileName As String = Path.Combine(myPtokaFilesPath, data.FileName)
If data.Info Then
' Info, we only need to fill in the .InfoXXX members of the data
Dim imageInfo As CodecsImageInfo = myCodecs.GetInformation(overlayFileName, False)
data.InfoWidth = imageInfo.Width
data.InfoHeight = imageInfo.Height
data.InfoXResolution = imageInfo.XResolution
data.InfoYResolution = imageInfo.YResolution
Else
' We need to load the overlay image into the .Image member
data.Image = myCodecs.Load(overlayFileName)
End If
End Sub
Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS 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