←Select platform

EncodeAbic(byte[],int,int,int,bool) Method

Summary
Encodes the input raw data using the ABIC encoder.
Syntax
C#
VB
C++
Java
public byte[] EncodeAbic( 
   byte[] inputData, 
   int align, 
   int width, 
   int height, 
   bool biLevel 
) 
Public Overloads Function EncodeAbic( _ 
   ByVal inputData() As Byte, _ 
   ByVal align As Integer, _ 
   ByVal width As Integer, _ 
   ByVal height As Integer, _ 
   ByVal biLevel As Boolean _ 
) As Byte() 
public byte[] encodeAbic(byte[] inputData, int align, int width, int height, boolean biLevel) 
public: 
array<byte>^ EncodeAbic(  
   array<byte>^ inputData, 
   int align, 
   int width, 
   int height, 
   bool biLevel 
)  

Parameters

inputData
A byte array which contains the input data.

align
Number of bytes aligned for uncompressed input data.

width
Image width, in pixels.

height
Image height, in pixels.

biLevel
true to indicate bi-level encoding, false to indicate 4-bit grayscale encoding.

Return Value

A byte array that contains the ABIC encoded data.

Remarks

Call this method to compress the input raw data to 1-bit bi-level or 4-bit grayscale ABIC data.

Use DecodeAbic to decode ABIC data.

Example

This example will load a file and encode as as ABIC. Decodes the data again before saving it to a destination file

C#
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
using Leadtools.ImageProcessing.Color; 
using Leadtools.Svg; 
 
 
public void EncodeDecodeAbicExample() 
{ 
	RasterCodecs codecs = new RasterCodecs(); 
 
	string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp"); 
	string destDataFile = Path.Combine(LEAD_VARS.ImagesDir, "Image1_Abic.bmp"); 
 
	// Load the file save it to a memory stream as RAW 
	Console.WriteLine("Loading the source image as 1 bits/pixel"); 
	RasterImage srcImage = codecs.Load(srcFileName, 1, CodecsLoadByteOrder.Rgb, 1, 1); 
 
	Console.WriteLine("Saving the image to memory as RAW format"); 
	MemoryStream ms = new MemoryStream(); 
	codecs.Save(srcImage, ms, RasterImageFormat.Raw, srcImage.BitsPerPixel); 
 
	Console.WriteLine("Encoding the data as ABIC"); 
	byte[] rawData = ms.GetBuffer(); 
	ms.Close(); 
 
	// Encode this data as ABIC 
	byte[] abicData = codecs.EncodeAbic(rawData, 4, srcImage.Width, srcImage.Height, false); 
 
	// Decode the data back to RAW 
	Console.WriteLine("Deconding the data back as RAW"); 
	rawData = codecs.DecodeAbic(abicData, 4, srcImage.Width, srcImage.Height, false); 
 
	// Create a new image from this data 
	RasterImage destImage = new RasterImage( 
	   RasterMemoryFlags.Conventional, 
	   srcImage.Width, 
	   srcImage.Height, 
	   srcImage.BitsPerPixel, 
	   srcImage.Order, 
	   srcImage.ViewPerspective, 
	   srcImage.GetPalette(), 
	   IntPtr.Zero, 
	   0); 
 
	// Add the scan lines 
	for (int y = 0; y < destImage.Height; y++) 
	{ 
		int bufferIndex = y * destImage.BytesPerLine; 
		destImage.SetRow(y, rawData, bufferIndex, destImage.BytesPerLine); 
	} 
 
	// Save this image to disk 
	codecs.Save(destImage, destDataFile, RasterImageFormat.Bmp, destImage.BitsPerPixel); 
 
	srcImage.Dispose(); 
	destImage.Dispose(); 
 
	// Clean up 
	codecs.Dispose(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS21\Resources\Images"; 
} 
Requirements

Target Platforms

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

Leadtools.Codecs Assembly