public void StopCompress() - (void)stopCompress public void stopCompress() public:void StopCompress();
def StopCompress(self): Calling this method will reset all internal variables to their default settings. Call this method after the compression of the entire image using Compress. For a detailed description of when to use this method, refer to StartCompress.
using Leadtools;using Leadtools.Codecs;using Leadtools.ImageProcessing;using Leadtools.ImageProcessing.Color;using Leadtools.Svg;public void CompressExample(){RasterCodecs codecs = new RasterCodecs();string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1_CompressData.cmp");// Load the image to at 24-bits per pixelRasterImage image = codecs.Load(srcFileName, 24, CodecsLoadByteOrder.Bgr, 1, 1);if (image.ViewPerspective != RasterViewPerspective.TopLeft)image.ChangeViewPerspective(RasterViewPerspective.TopLeft);// Create the output file_compressStream = File.Create(destFileName);// Calculate the bytes per line in the input buffer, without paddingint lineBytes = image.Width * 3;// Allocate a buffer for the incoming uncompressed data. Note that we// are compressing 16 lines at a time. You should always use multiples of 16byte[] inBuffer = new byte[16 * lineBytes];// Allocate an output buffer. This is where the compressed data will// go. Note that this allocates 1024-byte packets.byte[] outBuffer = new byte[1024];// Lock down the imageimage.Access();// Initialize the compression enginecodecs.Options.Jpeg.Save.CmpQualityFactorPredefined = CodecsCmpQualityFactorPredefined.QualityAndSize;codecs.StartCompress(image.Width,image.Height,image.BitsPerPixel,image.Order,image.ViewPerspective,16 * lineBytes,outBuffer,0,outBuffer.Length,CodecsCompression.Cmp,CodecsCompressDataCallback);// Compress the dataint i = 0;while (i < image.Height) // i is incremented at the end{// Compression of the 16-line chunk starts hereint j = 0;int inBufferIndex = 0;while ((i + j) < image.Height && j < 16){// Get one line at timeimage.GetRow(i + j, inBuffer, inBufferIndex, lineBytes);// Move to next lineinBufferIndex += lineBytes;j++;}// This is the main function that will do the actual Compressioncodecs.Compress(inBuffer, 0);i += 16;}// Reset the compression enginecodecs.StopCompress();// Release the image and close the fileimage.Release();_compressStream.Close();// Clean upcodecs.Dispose();}FileStream _compressStream;byte[] _compressBuffer;bool CodecsCompressDataCallback(int width, int height, int bitsPerPixel, RasterByteOrder order, RasterViewPerspective viewPerspective, RasterNativeBuffer buffer){// Write data to the fileif (_compressBuffer == null || _compressBuffer.Length < buffer.Length)_compressBuffer = new byte[(int)buffer.Length];Marshal.Copy(buffer.Data, _compressBuffer, 0, (int)buffer.Length);_compressStream.Write(_compressBuffer, 0, (int)buffer.Length);return true;}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
