LEADTOOLS (Leadtools assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.29
ColorResolutionCommandDataEventArgs Class
See Also  Members  
Leadtools.ImageProcessing Namespace : ColorResolutionCommandDataEventArgs Class



Provides data for the ColorResolutionCommand.Data event. Supported in Silverlight, Windows Phone 7

Object Model

ColorResolutionCommandDataEventArgs ClassRasterImage Class

Syntax

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 

Example

This example will convert an image from 24 to 1 bits/pixel saving the data into an external image manually

Visual BasicCopy 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";
}
SilverlightCSharpCopy 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;
}
SilverlightVBCopy 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

Inheritance Hierarchy

System.Object
   System.EventArgs
      Leadtools.ImageProcessing.ColorResolutionCommandDataEventArgs

Requirements

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

See Also