←Select platform

CodecsRawOptions Class

Summary
Provides extra options for loading and saving RAW Data images.
Syntax
C#
VB
Objective-C
C++
Java
public class CodecsRawOptions 
Public Class CodecsRawOptions  
@interface LTCodecsRawOptions : NSObject 
public class CodecsRawOptions 
public ref class CodecsRawOptions  
Example
C#
using Leadtools; 
using Leadtools.Codecs; 
 
 
private struct RawData 
{ 
	public int Width;                               // Width of image 
	public int Height;                              // Height of image 
	public int BitsPerPixel;                        // Bits per pixel of image--if palettized, a gray palette is generated 
	public RasterViewPerspective ViewPerspective;   // View perspective of raw data (TopLeft, BottomLeft, etc) 
	public RasterByteOrder Order;                   // Rgb or Bgr 
	public int XResolution;                         // Horizontal resolution in DPI 
	public int YResolution;                         // Vertical resolution in DPI 
	public int Offset;                              // Offset into file where raw data begins 
	public bool Padding;                            // true if each line of data is padded to four bytes 
	public bool ReverseBits;                        // true if the bits of each byte are reversed  
} 
 
private RawData myRawData; 
 
private void codecs_LoadInformation(object sender, CodecsLoadInformationEventArgs e) 
{ 
	// Set the information 
	e.Format = RasterImageFormat.Raw; 
	e.Width = myRawData.Width; 
	e.Height = myRawData.Height; 
	e.BitsPerPixel = myRawData.BitsPerPixel; 
	e.XResolution = myRawData.XResolution; 
	e.YResolution = myRawData.YResolution; 
	e.Offset = myRawData.Offset; 
 
	if (myRawData.Padding) 
		e.Pad4 = true; 
 
	e.Order = myRawData.Order; 
 
	if (myRawData.ReverseBits) 
		e.LeastSignificantBitFirst = true; 
 
	e.ViewPerspective = myRawData.ViewPerspective; 
 
	// If image is palettized create a grayscale palette 
	if (e.BitsPerPixel <= 8) 
	{ 
		int colors = 1 << e.BitsPerPixel; 
		RasterColor[] palette = new RasterColor[colors]; 
		for (int i = 0; i < palette.Length; i++) 
		{ 
			byte val = (byte)((i * 255) / (colors - 1)); 
			palette[i] = new RasterColor(val, val, val); 
		} 
 
		e.SetPalette(palette); 
	} 
} 
 
		public void CodecsRawOptionsExample() 
{ 
	RasterCodecs codecs = new RasterCodecs(); 
 
	// First, load a JPEG or CMP file 
	RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp")); 
 
	// Save this image as RAW data 
 
	// Set RAW options 
	codecs.Options.Raw.Save.Pad4 = true; 
	codecs.Options.Raw.Save.ReverseBits = true; 
	codecs.Options.Save.OptimizedPalette = true; 
 
	string rawFileName = Path.Combine(LEAD_VARS.ImagesDir, "Test.raw"); 
	codecs.Save(image, rawFileName, RasterImageFormat.Raw, 0); 
 
	// Save information about this image so we can use it to load the RAW file 
	myRawData = new RawData(); 
	myRawData.Width = image.Width; 
	myRawData.Height = image.Height; 
	myRawData.BitsPerPixel = image.BitsPerPixel; 
	myRawData.ViewPerspective = image.ViewPerspective; 
	myRawData.Order = image.Order; 
	myRawData.XResolution = image.XResolution; 
	myRawData.YResolution = image.YResolution; 
	myRawData.Offset = 0; 
	myRawData.Padding = true; 
	myRawData.ReverseBits = true; 
 
	// We dont need the image anymore 
	image.Dispose(); 
 
	// Now load this RAW image back 
 
	// First subscribe to the LoadInformation event so we can set the image information 
	codecs.LoadInformation += new EventHandler<CodecsLoadInformationEventArgs>(codecs_LoadInformation); 
 
	// Load the image 
	image = codecs.Load(rawFileName); 
	codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "raw.bmp"), RasterImageFormat.Bmp, image.BitsPerPixel); 
	// Unsubscribe from the event 
	codecs.LoadInformation -= new EventHandler<CodecsLoadInformationEventArgs>(codecs_LoadInformation); 
 
	// Clean up 
	image.Dispose(); 
	codecs.Dispose(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS21\Resources\Images"; 
} 
Requirements

Target Platforms

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

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