LEADTOOLS (Leadtools assembly)

Netscape Method

Show in webframe
Example 







Creates an array of RasterColor objects that represent the Netscape Fixed palette.
Syntax
public static RasterColor[] Netscape()
'Declaration
 
Public Shared Function Netscape() As RasterColor()
'Usage
 
Dim value() As RasterColor
 
value = RasterPalette.Netscape()
public static RasterColor[] Netscape()

            

            
 function Leadtools.RasterPalette.Netscape()
public:
static array<RasterColor>^ Netscape(); 
Example
Copy Code  
Imports Leadtools
  Imports Leadtools.Codecs
  Imports Leadtools.ImageProcessing
  Imports Leadtools.ImageProcessing.Core

  Public Sub NetscapePaletteExample()
   Dim codecs As RasterCodecs = New RasterCodecs()

   codecs.ThrowExceptionsOnInvalidImages = True

   Dim srcFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp")
   Dim destFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1_Netscape.bmp")

   ' Load the source image as 8 bits/pixel
   Dim srcImage As RasterImage = codecs.Load(srcFileName, 8, CodecsLoadByteOrder.Rgb, 1, 1)

   ' Get the netscape palette
   Dim netscapePalette As RasterColor() = RasterPalette.Netscape()

   ' Create the new palletized image.
   Dim destImage As RasterImage = New RasterImage(RasterMemoryFlags.Conventional, srcImage.Width, srcImage.Height, 8, srcImage.Order, srcImage.ViewPerspective, netscapePalette, IntPtr.Zero, 0)

   ' Set the dithering method.
   srcImage.DitheringMethod = RasterDitheringMethod.StevensonArce

   srcImage.Access()
   destImage.Access()

   ' Initialize the dithering process.
   srcImage.StartDithering(netscapePalette, 256)

   ' Allocate the output buffer for 8-bit data.
   Dim inBuffer As Byte() = New Byte(srcImage.Width * 3 - 1) {} ' Buffer to hold the input row.
   Dim outBuffer As Byte() = New Byte(srcImage.Width - 1) {} ' Buffer to hold the output row.

   ' Use DitherLine method to process each row in the image.
   Dim i As Integer = 0
   Do While i < srcImage.Height
      srcImage.GetRow(i, inBuffer, 0, srcImage.BytesPerLine)
      srcImage.DitherLine(inBuffer, 0, outBuffer, 0)
      destImage.SetRow(i, outBuffer, 0, destImage.BytesPerLine)
      i += 1
   Loop

   ' End the dithering process.
   srcImage.StopDithering()

   destImage.Release()
   srcImage.Release()

   ' Save the destination image
   codecs.Save(destImage, destFileName, RasterImageFormat.Bmp, 8)

   ' Cleanup
   srcImage.Dispose()
   destImage.Dispose()
End Sub

  Public NotInheritable Class LEAD_VARS
  Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
  End Class
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Core;

      
public void NetscapePaletteExample()
{
   string srcFileName = Path.Combine(ImagesPath.Path, "Image1.cmp");
   string destFileName = Path.Combine(ImagesPath.Path, "Image1_Netscape.bmp");
   RasterCodecs codecs = new RasterCodecs();
   codecs.ThrowExceptionsOnInvalidImages = true;

   // Load the source image as 8 bits/pixel
   RasterImage srcImage = codecs.Load(srcFileName, 8, CodecsLoadByteOrder.Rgb, 1, 1);

   // Get the netscape palette
   RasterColor[] netscapePalette = RasterPalette.Netscape();

   // Create the new palletized image.
   RasterImage destImage = new RasterImage(
      RasterMemoryFlags.Conventional,
      srcImage.Width,
      srcImage.Height,
      8,
      srcImage.Order,
      srcImage.ViewPerspective,
      netscapePalette,
      IntPtr.Zero,
      0);

   // Set the dithering method.
   srcImage.DitheringMethod = RasterDitheringMethod.StevensonArce;

   srcImage.Access();
   destImage.Access();

   // Initialize the dithering process.
   srcImage.StartDithering(netscapePalette, 256);

   // Allocate the output buffer for 8-bit data.
   byte[] inBuffer  = new byte [srcImage.Width * 3];  // Buffer to hold the input row.
   byte[] outBuffer = new byte [srcImage.Width];      // Buffer to hold the output row.

   // Use DitherLine method to process each row in the image.
   for(int i = 0; i < srcImage.Height; i++)
   {
      srcImage.GetRow(i, inBuffer, 0, srcImage.BytesPerLine);
      srcImage.DitherLine(inBuffer, 0, outBuffer, 0);
      destImage.SetRow(i, outBuffer, 0, destImage.BytesPerLine);
   }

   // End the dithering process.
   srcImage.StopDithering();

   destImage.Release();
   srcImage.Release();

   // Save the destination image
   codecs.Save(destImage, destFileName, RasterImageFormat.Bmp, 8);

   // Cleanup
   srcImage.Dispose();
   destImage.Dispose();
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Examples;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Core;
using Leadtools.Windows.Media;

public void NetscapePaletteExample(RasterImage srcImage, Stream destStream)
{
   RasterCodecs codecs = new RasterCodecs();
   codecs.ThrowExceptionsOnInvalidImages = true;
   // Get the netscape palette
   RasterColor[] netscapePalette = RasterPalette.Netscape();

   // Create the new palletized image.
   RasterImage destImage = new RasterImage(
      RasterMemoryFlags.Conventional,
      srcImage.Width,
      srcImage.Height,
      8,
      srcImage.Order,
      srcImage.ViewPerspective,
      netscapePalette,
      null,
      0);

   // Set the dithering method.
   srcImage.DitheringMethod = RasterDitheringMethod.StevensonArce;

   srcImage.Access();
   destImage.Access();

   // Initialize the dithering process.
   srcImage.StartDithering(netscapePalette, 256);

   // Allocate the output buffer for 8-bit data.
   byte[] inBuffer  = new byte [srcImage.Width * 3];  // Buffer to hold the input row.
   byte[] outBuffer = new byte [srcImage.Width];      // Buffer to hold the output row.

   // Use DitherLine method to process each row in the image.
   for(int i = 0; i < srcImage.Height; i++)
   {
      srcImage.GetRow(i, inBuffer, 0, srcImage.BytesPerLine);
      srcImage.DitherLine(inBuffer, 0, outBuffer, 0);
      destImage.SetRow(i, outBuffer, 0, destImage.BytesPerLine);
   }

   // End the dithering process.
   srcImage.StopDithering();

   destImage.Release();
   srcImage.Release();

   // Save the destination image
   codecs.Save(destImage, destStream, RasterImageFormat.Bmp, 8);

   // Cleanup
   srcImage.Dispose();
   destImage.Dispose();
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing
Imports Leadtools.ImageProcessing.Core
Imports Leadtools.Windows.Media

Public Sub NetscapePaletteExample(ByVal srcImage As RasterImage, ByVal destStream As Stream)
   Dim codecs As RasterCodecs = New RasterCodecs()
   codecs.ThrowExceptionsOnInvalidImages = True
   ' Get the netscape palette
   Dim netscapePalette As RasterColor() = RasterPalette.Netscape()

   ' Create the new palletized image.
   Dim destImage As RasterImage = New RasterImage(RasterMemoryFlags.Conventional, srcImage.Width, srcImage.Height, 8, srcImage.Order, srcImage.ViewPerspective, netscapePalette, Nothing, 0)

   ' Set the dithering method.
   srcImage.DitheringMethod = RasterDitheringMethod.StevensonArce

   srcImage.Access()
   destImage.Access()

   ' Initialize the dithering process.
   srcImage.StartDithering(netscapePalette, 256)

   ' Allocate the output buffer for 8-bit data.
   Dim inBuffer As Byte() = New Byte (srcImage.Width * 3 - 1){} ' Buffer to hold the input row.
   Dim outBuffer As Byte() = New Byte (srcImage.Width - 1){} ' Buffer to hold the output row.

   ' Use DitherLine method to process each row in the image.
   Dim i As Integer = 0
   Do While i < srcImage.Height
      srcImage.GetRow(i, inBuffer, 0, srcImage.BytesPerLine)
      srcImage.DitherLine(inBuffer, 0, outBuffer, 0)
      destImage.SetRow(i, outBuffer, 0, destImage.BytesPerLine)
      i += 1
   Loop

   ' End the dithering process.
   srcImage.StopDithering()

   destImage.Release()
   srcImage.Release()

   ' Save the destination image
   codecs.Save(destImage, destStream, RasterImageFormat.Bmp, 8)

   ' Cleanup
   srcImage.Dispose()
   destImage.Dispose()
End Sub
Requirements

Target Platforms

See Also

Reference

RasterPalette Class
RasterPalette Members

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2014 All Rights Reserved. LEAD Technologies, Inc.