Provides data for the
ColorResolutionCommand.Data event.
Object Model
Syntax
Visual Basic (Declaration) |
|
Public Class ColorResolutionCommandDataEventArgs
Inherits EventArgs |
C# |
|
public class ColorResolutionCommandDataEventArgs : EventArgs |
C++/CLI |
|
public ref class ColorResolutionCommandDataEventArgs : public EventArgs |
Example
This example will convert an image from 24 to 1 bits/pixel saving the data into an external image manually
Visual Basic |
Copy Code |
Public Sub ColorResolutionCommandDataEventArgsExample() RasterCodecs.Startup() Dim codecs As RasterCodecs = New RasterCodecs()
Dim srcFileName As String = LeadtoolsExamples.Common.ImagesPath.Path + "Image1.cmp" Dim destFileName As String = LeadtoolsExamples.Common.ImagesPath.Path + "Image1_colorresData.bmp"
Dim srcImage As RasterImage = codecs.Load(srcFileName)
_row = 0 _destImage = New RasterImage(RasterMemoryFlags.Conventional, srcImage.Width, srcImage.Height, 1, RasterByteOrder.Rgb, RasterViewPerspective.TopLeft, Nothing, IntPtr.Zero, 0)
Dim command As ColorResolutionCommand = New ColorResolutionCommand() command.BitsPerPixel = 1 command.DitheringMethod = RasterDitheringMethod.FloydStein AddHandler command.Data, AddressOf command_Data command.Run(srcImage) RemoveHandler command.Data, AddressOf command_Data
codecs.Save(_destImage, destFileName, RasterImageFormat.Bmp, 4) _destImage.Dispose()
srcImage.Dispose() RasterCodecs.Shutdown() End Sub
Private _destImage As RasterImage Private _row As Integer
Private Sub command_Data(ByVal sender As Object, ByVal e As ColorResolutionCommandDataEventArgs) _destImage.SetRow(_row, e.Data, _destImage.BytesPerLine * e.Lines) _row += e.Lines
End Sub |
C# |
Copy Code |
public void ColorResolutionCommandDataEventArgsExample() { RasterCodecs.Startup(); RasterCodecs codecs = new RasterCodecs(); string srcFileName = LeadtoolsExamples.Common.ImagesPath.Path + "Image1.cmp"; string destFileName = LeadtoolsExamples.Common.ImagesPath.Path + "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); command.Run(srcImage); command.Data -= new EventHandler<ColorResolutionCommandDataEventArgs>(command_Data); // Save it to disk codecs.Save(_destImage, destFileName, RasterImageFormat.Bmp, 4); _destImage.Dispose(); // Clean Up srcImage.Dispose(); RasterCodecs.Shutdown(); } 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); } |
Inheritance Hierarchy
Requirements
Target Platforms: Microsoft .NET Framework 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family
See Also