public IntPtr Data { get; }
public byte[] getData()
public:
property IntPtr Data {
IntPtr get();
}
Data # get (ColorResolutionCommandDataEventArgs)
The buffer containing one or more lines of output image data that the command has already converted.
This property returns the data in an unmanaged buffer. You can use the Marshal.Copy method to copy this data to a managed buffer.
To get the data in a managed array, use the DataArray property.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;
public void ColorResolutionCommandDataEventArgsExample()
{
RasterCodecs codecs = new RasterCodecs();
string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");
string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1_colorresData.bmp");
// Load the source image from disk
RasterImage srcImage = codecs.Load(srcFileName);
// Create the destination image
_row = 0;
_destImage = new RasterImage(
RasterMemoryFlags.Conventional,
srcImage.Width,
srcImage.Height,
1,
RasterByteOrder.Rgb,
RasterViewPerspective.TopLeft,
null,
IntPtr.Zero,
0);
// Color-res the image to 1 bits/pixel, we will save the data ourselves into
// the destination image
ColorResolutionCommand command = new ColorResolutionCommand();
command.BitsPerPixel = 1;
command.DitheringMethod = RasterDitheringMethod.FloydStein;
command.Data += new EventHandler<ColorResolutionCommandDataEventArgs>(command_Data);
_destImage.Access();
command.Run(srcImage);
_destImage.Release();
command.Data -= new EventHandler<ColorResolutionCommandDataEventArgs>(command_Data);
// Save it to disk
codecs.Save(_destImage, destFileName, RasterImageFormat.Bmp, 4);
// Clean Up
_destImage.Dispose();
srcImage.Dispose();
codecs.Dispose();
}
RasterImage _destImage;
int _row;
void command_Data(object sender, ColorResolutionCommandDataEventArgs e)
{
// Set the data into the destination image
_destImage.SetRow(_row, e.Data, _destImage.BytesPerLine * e.Lines);
_row += e.Lines;
// If you want the data in a managed buffer,
// you can do this
// byte[] data = new byte[_destImage.BytesPerLine * e.Lines];
// System.Runtime.InteropServices.Marshal.Copy(e.Data, data, 0, data.Length);
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
}
import java.io.File;
import java.io.IOException;
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.imageprocessing.*;
public void colorResolutionCommandDataEventArgsExample() {
final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images";
RasterCodecs codecs = new RasterCodecs();
String srcFileName = combine(LEAD_VARS_IMAGES_DIR, "rgsref.cmp");
String destFileName = combine(LEAD_VARS_IMAGES_DIR, "rgsref_colorresData.bmp");
// Load the source image from disk
RasterImage srcImage = codecs.load(srcFileName);
// Create the destination image
byte[] userData = new byte[0];
_row = 0;
_destImage = new RasterImage(RasterMemoryFlags.CONVENTIONAL.getValue(), srcImage.getWidth(), srcImage.getHeight(),
1, RasterByteOrder.RGB, RasterViewPerspective.TOP_LEFT, null, userData, 0);
// Color-res the image to 1 bits/pixel, we will save the data ourselves into
// the destination image
ColorResolutionCommand command = new ColorResolutionCommand();
command.setBitsPerPixel(1);
command.setDitheringMethod(RasterDitheringMethod.FLOYD_STEIN);
command.addColorResolutionCommandDataListener(command_Data);
_destImage.access();
command.run(srcImage);
_destImage.release();
command.removeColorResolutionCommandDataListener(command_Data);
// Save it to disk
codecs.save(_destImage, destFileName, RasterImageFormat.BMP, 4);
assertTrue("file unsuccessfully saved to " + destFileName, (new File(destFileName)).exists());
System.out.printf("File saved successfully to %s%n", destFileName);
// Clean Up
_destImage.dispose();
srcImage.dispose();
codecs.dispose();
}
RasterImage _destImage;
int _row;
ColorResolutionCommandDataListener command_Data = new ColorResolutionCommandDataListener() {
@Override
public void onData(ColorResolutionCommandDataEvent e) {
// Set the data into the destination image
_destImage.setRow(_row, e.getData(), _destImage.getBytesPerLine() * e.getLines());
_row += e.getLines();
}
};
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