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
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.