Leadtools Namespace > RasterPalette Class : Netscape Method |
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();
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
public void NetscapePaletteExample() { RasterCodecs codecs = new RasterCodecs(); codecs.ThrowExceptionsOnInvalidImages = true; string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp"); string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1_Netscape.bmp"); // 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(); } static class LEAD_VARS { public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; }
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(); }
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
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2