←Select platform

StartCompress(int,int,int,RasterByteOrder,RasterViewPerspective,int,IntPtr,int,CodecsCompression,CodecsCompressDataCallback) Method

Summary

Initializes the unmanaged memory buffered compression engine.

Syntax
C#
VB
Objective-C
C++
Public Overloads Sub StartCompress( _ 
   ByVal width As Integer, _ 
   ByVal height As Integer, _ 
   ByVal bitsPerPixel As Integer, _ 
   ByVal order As RasterByteOrder, _ 
   ByVal viewPerspective As RasterViewPerspective, _ 
   ByVal inputDataLength As Integer, _ 
   ByVal outputData As IntPtr, _ 
   ByVal outputDataLength As Integer, _ 
   ByVal compression As CodecsCompression, _ 
   ByVal callback As CodecsCompressDataCallback _ 
)  
- (BOOL)startCompress:(NSInteger)width  
               height:(NSInteger)height  
         bitsPerPixel:(NSInteger)bitsPerPixel  
                order:(LTRasterByteOrder)order  
      viewPerspective:(LTRasterViewPerspective)viewPerspective  
      inputDataLength:(NSUInteger)inputDataLength  
           outputData:(unsigned char *)outputData  
     outputDataLength:(NSUInteger)outputDataLength  
          compression:(LTCodecsCompression)compression  
             callback:(nullable LTCodecsCompressDataCallback)callback  
                error:(NSError **)error 

Parameters

width
The image being compressed width in pixels.

height
The image being compressed height in pixels.

bitsPerPixel
The image being compressed bits/pixel value.

order
The image being compressed byte order.

viewPerspective
The image being compressed view perspective value.

inputDataLength
Size in bytes of the input image data.

outputData
Pointer to unmanaged memory buffer will be filled with the compressed data.

outputDataLength
Size of outputData in bytes.

compression
Type of compression to use. Valid values are:

Value Meaning
CodecsCompression.Cmp LEAD CMP compression format
CodecsCompression.Jpeg444 JPEG File Interchange Format using YUV 4:4:4 color spacing
CodecsCompression.Jpeg422 JPEG File Interchange Format using YUV 4:2:2 color spacing
CodecsCompression.Jpeg411 JPEG File Interchange Format using YUV 4:1:1 color spacing
CodecsCompression.TifJpeg444 JPEG JTIF using YUV 4:4:4 color spacing
CodecsCompression.TifJpeg422 JPEG JTIF using YUV 4:2:2 color spacing
CodecsCompression.TifJpeg411 JPEG JTIF using YUV 4:1:1 color spacing
CodecsCompression.Lead0 LEAD 1 bit, lossless compression
CodecsCompression.Lead1 LEAD 1 bit, excellent compression
CodecsCompression.TiffCcitt TIFF CCITT
CodecsCompression.TiffCcittG3Fax1Dim CCITT Group 3 one dimensional
CodecsCompression.TiffCcittG3Fax2Dim CCITT Group 3 two dimensional
CodecsCompression.TiffCcittG4Fax CCITT Group 4 two dimensional

callback
The callback method responsible for writing or handling the compressed data.

Remarks

This method initializes the buffered compression engine. The compression is then carried out using the Compress method. It is ended by the StopCompress method.

If order is set to RasterByteOrder.Bgr and viewPerspective is RasterViewPerspective.TopLeft then the data that you put into the input buffer must be RasterByteOrder.Bgr and loaded from top left.

The compression process starts after the first call to Compress. The callback is called when the output buffer is filled with compressed data or after completing the compression process. callback is responsible for emptying the output buffer - storing it, sending it, or doing other processing.

The following is a flow chart that shows the relationship of these methods:

compressbuffer.gif

Call StopCompress to end the compression process started by a call to StartCompress.

The quality factor of the compressed data is obtained as follows:

Format Quality factor used
CodecsCompression.Cmp CodecsJpegSaveOptions.QualityFactor and CodecsJpegSaveOptions.CmpQualityFactorPredefined
CodecsCompression.Jpeg444 CodecsJpegSaveOptions.QualityFactor
CodecsCompression.Jpeg422 CodecsJpegSaveOptions.QualityFactor
CodecsCompression.Jpeg411 CodecsJpegSaveOptions.QualityFactor
CodecsCompression.TifJpeg444 CodecsJpegSaveOptions.QualityFactor
CodecsCompression.TifJpeg422 CodecsJpegSaveOptions.QualityFactor
CodecsCompression.TifJpeg411 CodecsJpegSaveOptions.QualityFactor
CodecsCompression.Lead0 Not used
CodecsCompression.Lead1 Not used
CodecsCompression.TiffCcitt Not used
CodecsCompression.TiffCcittG3Fax1Dim Not used
CodecsCompression.TiffCcittG3Fax2Dim Not used
CodecsCompression.TiffCcittG4Fax Not used

This method does not support signed data images.

Example

For an example, refer to StartCompress.

Requirements

Target Platforms

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

Leadtools.Codecs Assembly