Visual Basic (Declaration) | |
---|---|
Public Shared Function Netscape() As RasterColor() |
Visual Basic (Usage) | Copy Code |
---|---|
Dim value() As RasterColor value = RasterPalette.Netscape() |
C# | |
---|---|
public static RasterColor[] Netscape() |
C++/CLI | |
---|---|
public: static array<RasterColor>^ Netscape(); |
Visual Basic | Copy Code |
---|---|
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 |
C# | Copy Code |
---|---|
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"; } |
SilverlightCSharp | Copy Code |
---|---|
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(); } |
SilverlightVB | Copy Code |
---|---|
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: Silverlight, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7, MAC OS/X (Intel Only), Windows Phone 7