public bool LeastSignificantBitFirst { get; set; } @property (nonatomic, assign) BOOL leastSignificantBitFirst; public boolean getLeastSignificantBitFirst()public void setLeastSignificantBitFirst(boolean value)
LeastSignificantBitFirst # get and set (CodecsStartDecompressOptions)
| Value | Description |
|---|---|
| true | To save the image data with least significant bit first (LSB) or last (MSB). |
| false | To not save the image data with least significant bit first (LSB) or last (MSB). The default value is false. |
using Leadtools;using Leadtools.Codecs;using Leadtools.ImageProcessing;using Leadtools.ImageProcessing.Color;using Leadtools.Svg;// This sample loads raw data from a PackBits TIF file// PackBits.tif is a 24-bit tif packbits compressed file// PackBits.tif has 46 strips of packbits data// The strip information is obtained by reading the TIF tags TAG_STRIPOFFSETS and TAG_STRIPBYTECOUNTS// The strips are directly read and fed to the Compress methodvoid LoadRawPackbitsStrips(string packTifFile){RasterCodecs codecs = new RasterCodecs();string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "Decompress.bmp");CodecsImageInfo imageInfo = codecs.GetInformation(packTifFile, false);// StartDecompressCodecsStartDecompressOptions options = CodecsStartDecompressOptions.Empty;options.DataType = CodecsStartDecompressDataType.Strips;options.Format = RasterImageFormat.RawPackBits;options.Width = imageInfo.Width;options.Height = imageInfo.Height;options.BitsPerPixel = imageInfo.BitsPerPixel;options.LeastSignificantBitFirst = false;options.Pad4 = false;options.PlanarConfiguration = CodecsPlanarConfiguration.PlanarFormat;options.ViewPerspective = imageInfo.ViewPerspective;options.RawOrder = imageInfo.Order;options.LoadOrder = CodecsLoadByteOrder.BgrOrGray;options.XResolution = imageInfo.XResolution;options.YResolution = imageInfo.YResolution;options.TiffPhotometricInterpretation = CodecsTiffPhotometricInterpretation.Rgb;options.SetColorMask(options.GetColorMask());options.SetPalette(options.GetPalette());options.UsePalette = false;object decompressObject = codecs.StartDecompress(options);// Decompressconst int TAG_STRIPOFFSETS = 0x111;const int TAG_STRIPBYTECOUNTS = 0x117;const int TAG_ROWSPERSTRIP = 0x116;const int MAX_STRIPS = 1000;int[] stripOffsets = new int[MAX_STRIPS];int[] stripSizes = new int[MAX_STRIPS];int[] rowsPerStripBuffer = new int[1];int maxIndex = ReadTag(codecs, packTifFile, TAG_STRIPOFFSETS, stripOffsets);ReadTag(codecs, packTifFile, TAG_STRIPBYTECOUNTS, stripSizes);ReadTag(codecs, packTifFile, TAG_ROWSPERSTRIP, rowsPerStripBuffer);int rowsPerStrip = rowsPerStripBuffer[0];FileStream fs = File.OpenRead(packTifFile);const int row = 0; // Note: this parameter is ignored for stripsconst int column = 0; // Column offset of tilefor (int index = 0; index < maxIndex; index++){// seek to the first stripfs.Seek(stripOffsets[index], SeekOrigin.Begin);byte[] buffer = new byte[stripSizes[index]];fs.Read(buffer, 0, buffer.Length);// Calculate the height of uncompressed strip/tileint height = rowsPerStrip;if (index == (maxIndex - 1)){// fewer rows per stripheight = imageInfo.Height - (maxIndex - 1) * rowsPerStrip;}codecs.Decompress(decompressObject,buffer,0,buffer.Length,imageInfo.Width,height,row,column,CodecsDecompressDataFlags.Complete);}fs.Close();// StopDecompressRasterImage image = codecs.StopDecompress(decompressObject);// 'image' contains the uncompressed imagecodecs.Save(image, destFileName, RasterImageFormat.Bmp, 24);image.Dispose();// Clean upcodecs.Dispose();}// Returns maximum indexint ReadTag(RasterCodecs codecs, string fileName, int tagId, int[] stripArray){RasterTagMetadata tag = codecs.ReadTag(fileName, 1, tagId);int[] data = tag.ToInt32();data.CopyTo(stripArray, 0);return tag.Count;}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images";}
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
