public static RasterColor[] Netscape() public static RasterColor[] netscape(); public:static array<RasterColor>^ Netscape();
def Netscape(self): using Leadtools;using Leadtools.Codecs;using Leadtools.ImageProcessing;using Leadtools.ImageProcessing.Core;public void NetscapePaletteExample(){string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1_Netscape.bmp");RasterCodecs codecs = new RasterCodecs();codecs.ThrowExceptionsOnInvalidImages = true;// Load the source image as 8 bits/pixelRasterImage srcImage = codecs.Load(srcFileName, 8, CodecsLoadByteOrder.Rgb, 1, 1);// Get the netscape paletteRasterColor[] 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 imagecodecs.Save(destImage, destFileName, RasterImageFormat.Bmp, 8);// CleanupsrcImage.Dispose();destImage.Dispose();}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";}
import static org.junit.Assert.assertTrue;import java.io.File;import java.io.IOException;import org.junit.*;import org.junit.runner.JUnitCore;import org.junit.runner.Result;import org.junit.runner.notification.Failure;import leadtools.*;import leadtools.codecs.*;public void netscapePaletteExample() {final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images";String srcFileName = combine(LEAD_VARS_IMAGES_DIR, "Image1.cmp");String destFileName = combine(LEAD_VARS_IMAGES_DIR, "Image1_Netscape.bmp");RasterCodecs codecs = new RasterCodecs();codecs.setThrowExceptionsOnInvalidImages(true);// Load the source image as 8 bits/pixelRasterImage srcImage = codecs.load(srcFileName, 8, CodecsLoadByteOrder.RGB, 1, 1);// Get the netscape paletteRasterColor[] netscapePalette = RasterPalette.netscape();// Create the new palletized imageRasterImage destImage = new RasterImage(RasterMemoryFlags.CONVENTIONAL.getValue(),srcImage.getWidth(),srcImage.getHeight(),8,srcImage.getOrder(),srcImage.getViewPerspective(),netscapePalette,new byte[0],0);// Set the dithering methodsrcImage.setDitheringMethod(RasterDitheringMethod.STEVENSON_ARCE);srcImage.access();destImage.access();// Initialize the dithering processsrcImage.startDithering(netscapePalette, 256);// Allocate the output buffer for 8-bit data.byte[] inBuffer = new byte[srcImage.getWidth()]; // Buffer to hold the input row.byte[] outBuffer = new byte[srcImage.getWidth()]; // Buffer to hold the output row.// Use DitherLine method to process each row in the image.for (int i = 0; i < srcImage.getHeight(); i++) {srcImage.getRow(i, inBuffer, 0, srcImage.getBytesPerLine());srcImage.ditherLine(inBuffer, 0, outBuffer, 0);destImage.setRow(i, outBuffer, 0, destImage.getBytesPerLine());}// End the dithering processsrcImage.stopDithering();destImage.release();srcImage.release();// Save the destination imagecodecs.save(destImage, destFileName, RasterImageFormat.BMP, 8);assertTrue("Image unsuccessfully saved", new File(destFileName).exists());System.out.printf("Command ran successfully, image saved to %s\n", destFileName);// CleanupsrcImage.dispose();destImage.dispose();}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document
