public RasterImageFormat Format { get; set; } @property (nonatomic, assign) LTRasterImageFormat format; public RasterImageFormat getFormat()public void setFormat(RasterImageFormat value)
public:property RasterImageFormat Format {RasterImageFormat get();void set ( RasterImageFormat );}
Format # get and set (CodecsStartDecompressOptions)
A [RasterImageFormat] value indicating the format of the image to decompress. The default value is Unknown.
Possible values are:
| Value | Meaning |
|---|---|
| RasterImageFormat.Jpeg | JPEG file |
| RasterImageFormat.RawRle4 | RAW file with RLE compression, 4 bits per pixel |
| RasterImageFormat.RawRle8 | RAW file with RLE compression, 8 bits per pixel |
| RasterImageFormat.RawBitfields | RAW file with bitfield compression |
| RasterImageFormat.RawPackBits | RAW file with packed bits compression |
| RasterImageFormat.RawCcitt | RAW file with CCITT compression |
| RasterImageFormat.FaxG31Dim | Fax file with G3 one-dimensional compression |
| RasterImageFormat.FaxG32Dim | Fax file with G3 two-dimensional compression |
| RasterImageFormat.FaxG4 | Fax file with G4 compression |
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:\LEADTOOLS23\Resources\Images";}
import java.io.*;import java.net.*;import java.nio.file.Paths;import java.util.*;import java.time.Instant;import java.time.Duration;import org.junit.*;import org.junit.runner.JUnitCore;import org.junit.runner.Result;import org.junit.runner.notification.Failure;import static org.junit.Assert.*;import leadtools.*;import leadtools.codecs.*;import leadtools.codecs.RasterCodecs.FeedCallbackThunk;import leadtools.drawing.internal.*;import leadtools.imageprocessing.*;import leadtools.imageprocessing.color.ChangeIntensityCommand;import 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 methodpublic void loadRawPackbitsStripsExample() throws IOException {final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images";String packTifFile = combine(LEAD_VARS_IMAGES_DIR, "packbits.tif");RasterCodecs codecs = new RasterCodecs();String destFileName = combine(LEAD_VARS_IMAGES_DIR, "Decompress.bmp");CodecsImageInfo imageInfo = codecs.getInformation(packTifFile, false);// StartDecompressCodecsStartDecompressOptions options = CodecsStartDecompressOptions.getEmpty();options.setDataType(CodecsStartDecompressDataType.STRIPS);options.setFormat(RasterImageFormat.RAW_PACKBITS);options.setWidth(imageInfo.getWidth());options.setHeight(imageInfo.getHeight());options.setBitsPerPixel(imageInfo.getBitsPerPixel());options.setLeastSignificantBitFirst(false);options.setPad4(false);options.setPlanarConfiguration(CodecsPlanarConfiguration.PLANAR_FORMAT);options.setViewPerspective(imageInfo.getViewPerspective());options.setRawOrder(imageInfo.getOrder());options.setLoadOrder(CodecsLoadByteOrder.BGR_OR_GRAY);options.setXResolution(imageInfo.getXResolution());options.setYResolution(imageInfo.getYResolution());options.setTiffPhotometricInterpretation(CodecsTiffPhotometricInterpretation.RGB);options.setColorMask(options.getColorMask());options.setPalette(options.getPalette());options.setUsePalette(false);Object decompressObject = codecs.startDecompress(options);// Decompressfinal int TAG_STRIPOFFSETS = 0x111;final int TAG_STRIPBYTECOUNTS = 0x117;final int TAG_ROWSPERSTRIP = 0x116;final 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];ILeadStream packTifStream = LeadStreamFactory.create(packTifFile);final int row = 0; // Note: this parameter is ignored for stripsfinal int column = 0; // Column offset of tilefor (int index = 0; index < maxIndex; index++) {// seek to the first strippackTifStream.seek(LeadSeekOrigin.BEGIN, stripOffsets[index]);byte[] buffer = new byte[stripSizes[index]];packTifStream.read(buffer, buffer.length);// Calculate the height of uncompressed strip/tileint height = rowsPerStrip;if (index == (maxIndex - 1)) {// fewer rows per stripheight = imageInfo.getHeight() - (maxIndex - 1) * rowsPerStrip;}codecs.decompress(decompressObject,buffer,0,buffer.length,imageInfo.getWidth(),height,row,column,CodecsDecompressDataFlags.COMPLETE);}packTifStream.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) throws IOException {ILeadStream fileStream = LeadStreamFactory.create(fileName);RasterTagMetadata tag = codecs.readTag(fileStream, 1, tagId);int[] data = tag.toInt32();for (int i = 0; i < data.length; i++) {stripArray[i] = data[i];}fileStream.close();return tag.getCount();}
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
