←Select platform

Buffer Property

Summary
Gets the user match table data.
Syntax
C#
C++/CLI
Python
public RasterNativeBuffer Buffer { get; } 
public: 
property RasterNativeBuffer Buffer { 
   RasterNativeBuffer get(); 
} 
Buffer # get  (RasterUserMatchTable) 

Property Value

A RasterNativeBuffer object that contains the internal user match table.

Remarks

When you call the Create method, this property will return a pointer to the internal created match table.

The completed table is a 32K array of integers. On a 32-bit system, it occupies 128K bytes of memory. Creation of the table takes some processing time and memory, so it is useful only if you are using your own palette more than once. For example, you may want to create the table once, save it to a file, and ship that file with your application.

For more information, refer to RasterUserMatchTable.

Example
C#
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
 
 
public void RasterUserMatchTableExample() 
{ 
   RasterCodecs codecs = new RasterCodecs(); 
 
   string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp"); 
   string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "RasterUserMatchTable.bmp"); 
 
   // Load the image from disk 
   RasterImage image = codecs.Load(srcFileName); 
 
   // 64-color rainbow palette 
   RasterColor[] colors = 
   { 
   new RasterColor(0, 0, 0), new RasterColor(0, 0, 85), new RasterColor(0, 0, 170), new RasterColor(0, 0, 255), 
   new RasterColor(85, 0, 0), new RasterColor(85, 0, 85), new RasterColor(85, 0, 170), new RasterColor(85, 0, 255), 
   new RasterColor(170, 0, 0), new RasterColor(170, 0, 85), new RasterColor(170, 0, 170), new RasterColor(170, 0, 255), 
   new RasterColor(255, 0, 0), new RasterColor(255, 0, 85), new RasterColor(255, 0, 170), new RasterColor(255, 0, 255), 
   new RasterColor(0, 85, 0), new RasterColor(0, 85, 85), new RasterColor(0, 85, 170), new RasterColor(0, 85, 255), 
   new RasterColor(85, 85, 0), new RasterColor(85, 85, 85), new RasterColor(85, 85, 170), new RasterColor(85, 85, 255), 
   new RasterColor(170, 85, 0), new RasterColor(170, 85, 85), new RasterColor(170, 85, 170), new RasterColor(170, 85, 255), 
   new RasterColor(255, 85, 0), new RasterColor(255, 85, 85), new RasterColor(255, 85, 170), new RasterColor(255, 85, 255), 
   new RasterColor(0, 170, 0), new RasterColor(0, 170, 85), new RasterColor(0, 170, 170), new RasterColor(0, 170, 255), 
   new RasterColor(85, 170, 0), new RasterColor(85, 170, 85), new RasterColor(85, 170, 170), new RasterColor(85, 170, 255), 
   new RasterColor(170, 170, 0), new RasterColor(170, 170, 85), new RasterColor(170, 170, 170), new RasterColor(170, 170, 255), 
   new RasterColor(255, 170, 0), new RasterColor(255, 170, 85), new RasterColor(255, 170, 170), new RasterColor(255, 170, 255), 
   new RasterColor(0, 255, 0), new RasterColor(0, 255, 85), new RasterColor(0, 255, 170), new RasterColor(0, 255, 255), 
   new RasterColor(85, 255, 0), new RasterColor(85, 255, 85), new RasterColor(85, 255, 170), new RasterColor(85, 255, 255), 
   new RasterColor(170, 255, 0), new RasterColor(170, 255, 85), new RasterColor(170, 255, 170), new RasterColor(170, 255, 255), 
   new RasterColor(255, 255, 0), new RasterColor(255, 255, 85), new RasterColor(255, 255, 170), new RasterColor(255, 255, 255) 
 }; 
 
   // Create and set the user match table 
   RasterUserMatchTable userMatchTable = new RasterUserMatchTable(); 
   userMatchTable.Create(colors); 
   Assert.AreEqual(userMatchTable.Buffer.Length, sizeof(int) * 32 * 1024); //Buffer size is 32K integers 
 
   userMatchTable.Use(); 
 
   // Change the color resolution using the new palette. Note that the user match table 
   // makes your code faster only if you use it more than once. It is included here only  
   // to show how it can be coded. 
 
   ColorResolutionCommand command = new ColorResolutionCommand( 
      ColorResolutionCommandMode.InPlace, 
      8, 
      RasterByteOrder.Rgb, 
      RasterDitheringMethod.FloydStein, 
      ColorResolutionCommandPaletteFlags.UsePalette | ColorResolutionCommandPaletteFlags.FastMatch, 
      colors); 
   command.Run(image); 
 
   // Free the user match table when it is no longer needed 
   userMatchTable.Unuse(); 
 
   // Save the image back to disk 
   codecs.Save(image, destFileName, RasterImageFormat.Bmp, 8); 
 
   // Clean up 
   image.Dispose(); 
   codecs.Dispose(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 
} 
Requirements

Target Platforms

Help Version 23.0.2024.8.28
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.