Visual Basic (Declaration) | |
---|---|
Public Class ColorResolutionCommandDataEventArgs Inherits System.EventArgs |
Visual Basic (Usage) | Copy Code |
---|---|
Dim instance As ColorResolutionCommandDataEventArgs |
C# | |
---|---|
public class ColorResolutionCommandDataEventArgs : System.EventArgs |
C++/CLI | |
---|---|
public ref class ColorResolutionCommandDataEventArgs : public System.EventArgs |
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() Dim codecs As RasterCodecs = New RasterCodecs() Dim srcFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp") Dim destFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1_colorresData.bmp") ' Load the source image from disk Dim srcImage As RasterImage = codecs.Load(srcFileName) ' Create the destination image _row = 0 _destImage = New RasterImage(RasterMemoryFlags.Conventional, srcImage.Width, srcImage.Height, 1, RasterByteOrder.Rgb, RasterViewPerspective.TopLeft, Nothing, IntPtr.Zero, 0) ' Color-res the image to 1 bits/pixel, we will save the data ourselves into ' the destination image 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 ' Save it to disk codecs.Save(_destImage, destFileName, RasterImageFormat.Bmp, 4) _destImage.Dispose() ' Clean Up srcImage.Dispose() End Sub Private _destImage As RasterImage Private _row As Integer Private Sub command_Data(ByVal sender As Object, ByVal e As ColorResolutionCommandDataEventArgs) ' 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); End Sub Public NotInheritable Class LEAD_VARS Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" End Class |
C# | Copy Code |
---|---|
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); 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(); } 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:\Users\Public\Documents\LEADTOOLS Images"; } |
SilverlightCSharp | Copy Code |
---|---|
public void ColorResolutionCommandDataEventArgsExample(RasterImage srcImage, Stream destStream) { RasterCodecs codecs = new RasterCodecs(); // Create the destination image _row = 0; _destImage = new RasterImage( RasterMemoryFlags.Conventional, srcImage.Width, srcImage.Height, 1, RasterByteOrder.Rgb, RasterViewPerspective.TopLeft, null, null, 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, destStream, RasterImageFormat.Bmp, 4); _destImage.Dispose(); // Clean Up srcImage.Dispose(); } RasterImage _destImage; int _row; void command_Data(object sender, ColorResolutionCommandDataEventArgs e) { // Set the data into the destination image _destImage.SetRow(_row, e.DataArray, 0, _destImage.BytesPerLine * e.Lines); _row += e.Lines; } |
SilverlightVB | Copy Code |
---|---|
Public Sub ColorResolutionCommandDataEventArgsExample(ByVal srcImage As RasterImage, ByVal destStream As Stream) Dim codecs As RasterCodecs = New RasterCodecs() ' Create the destination image _row = 0 _destImage = New RasterImage(RasterMemoryFlags.Conventional, srcImage.Width, srcImage.Height, 1, RasterByteOrder.Rgb, RasterViewPerspective.TopLeft, Nothing, Nothing, 0) ' Color-res the image to 1 bits/pixel, we will save the data ourselves into ' the destination image 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 ' Save it to disk codecs.Save(_destImage, destStream, RasterImageFormat.Bmp, 4) _destImage.Dispose() ' Clean Up srcImage.Dispose() End Sub Private _destImage As RasterImage Private _row As Integer Private Sub command_Data(ByVal sender As Object, ByVal e As ColorResolutionCommandDataEventArgs) ' Set the data into the destination image _destImage.SetRow(_row, e.DataArray, 0, _destImage.BytesPerLine * e.Lines) _row += e.Lines End Sub |
System.Object
System.EventArgs
Leadtools.ImageProcessing.ColorResolutionCommandDataEventArgs
Target Platforms: Silverlight, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7, MAC OS/X (Intel Only), Windows Phone 7