public class CodecsOverlayData
@interface LTCodecsOverlayData : NSObject
public class CodecsOverlayData extends LeadEvent
public ref class CodecsOverlayData
class CodecsOverlayData:
An CodecsOverlayData object is populated and passed as data to the CodecsOverlayCallback parameter passed to the RasterCodecs.StartOverlay method. Some members of this class are for input some are for output as follows:
Value | Description |
---|---|
FileName | (Input) The name of the file containing the overlay image |
PageNumber | (Input) Page number of the requested overlay image |
Info | (Input) Determines whether overlay image info or actual image is needed |
InfoWidth | (Output) Overlay image width in pixels (Ignore if Info is false) |
InfoHeight | (Output) Overlay image height in pixels (Ignore if Info is false) |
InfoXResolution | (Output) Overlay image horizontal resolution in pixels per inch (Ignore if Info is false) |
InfoYResolution | (Output) Overlay image vertical resolution in pixels per inch (Ignore if Info is false) |
Image | (Output) The RasterImage object containing the loaded overlay image (Only Info is false) |
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Color;
using Leadtools.Svg;
void PtokaOverlayExample(string ptokaFileName, string ptokaFilesPath)
{
RasterCodecs codecs = new RasterCodecs();
// Set up the private variables used in the callback
myCodecs = codecs;
myPtokaFilesPath = ptokaFilesPath;
// Set the overlay callback
codecs.StartOverlay(CodecsOverlayCallback, 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
string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "PtokaOverlay.tif");
codecs.Save(image, destFileName, RasterImageFormat.Tif, 1);
image.Dispose();
// Clean up
codecs.Dispose();
}
RasterCodecs myCodecs;
string myPtokaFilesPath;
void CodecsOverlayCallback(CodecsOverlayData data)
{
// Show overlay information
Debug.WriteLine("File: {0}", data.FileName);
Debug.WriteLine("Page Number: {0}", data.PageNumber);
Debug.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:\LEADTOOLS23\Resources\Images";
}
import java.io.*;
import java.net.*;
import java.nio.file.Paths;
import java.util.*;
import java.time.Instant;
import java.time.Duration;
import org.junit.*;
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
import static org.junit.Assert.*;
import leadtools.*;
import leadtools.codecs.*;
import leadtools.codecs.RasterCodecs.FeedCallbackThunk;
import leadtools.drawing.internal.*;
import leadtools.imageprocessing.*;
import leadtools.imageprocessing.color.ChangeIntensityCommand;
import leadtools.svg.*;
public void ptokaOverlayExample() {
final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images";
String ptokaFileName = combine(LEAD_VARS_IMAGES_DIR, "jbig.jbg");
RasterCodecs codecs = new RasterCodecs();
// Set up the private variables used in the callback
myCodecs = codecs;
myPtokaFilesPath = LEAD_VARS_IMAGES_DIR;
// Set the overlay callback
codecs.startOverlay(codecsOverlayCallback, CodecsOverlayCallbackMode.CALL_LOAD);
// Load the PTOKA file
RasterImage image = codecs.load(ptokaFileName);
// Stop the overlay by resetting the old callback.
codecs.stopOverlay();
// Save the image as TIFF
String destFileName = combine(LEAD_VARS_IMAGES_DIR, "PtokaOverlay.tif");
codecs.save(image, destFileName, RasterImageFormat.TIF, 1);
image.dispose();
// Clean up
codecs.dispose();
}
RasterCodecs myCodecs;
String myPtokaFilesPath;
CodecsOverlayListener codecsOverlayCallback = new CodecsOverlayListener() {
@Override
public void onOverlay(CodecsOverlayData data) {
// Show overlay information
System.out.println("File: " + data.getFileName());
System.out.println("Page Number: " + data.getPageNumber());
System.out.println("Info: " + data.getInfo());
// Construct the overlay file name
String overlayFileName = combine(myPtokaFilesPath, data.getFileName());
if (data.getInfo()) {
// Info, we only need to fill in the .InfoXXX members of the data
CodecsImageInfo imageInfo = myCodecs.getInformation(overlayFileName, false);
data.setInfoWidth(imageInfo.getWidth());
data.setInfoHeight(imageInfo.getHeight());
data.setInfoXResolution(imageInfo.getXResolution());
data.setInfoYResolution(imageInfo.getYResolution());
} else {
// We need to load the overlay image into the .Image member
data.setImage(myCodecs.load(overlayFileName));
}
}
};
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