CodecsSaveImageEventArgs Class (original) (raw)

Syntax

C#

Objective-C

C++/CLI

Java

Python

public class CodecsSaveImageEventArgs : EventArgs 
@interface LTCodecsSaveImageEventArgs : NSObject 
public class CodecsSaveImageEvent extends LeadEvent 
public ref class CodecsSaveImageEventArgs : public System.EventArgs  
class CodecsSaveImageEventArgs(EventArgs): 

Example

using Leadtools; using Leadtools.Codecs; using Leadtools.ImageProcessing; using Leadtools.ImageProcessing.Color; using Leadtools.Svg; public void SaveImageExample() { RasterCodecs codecs = new RasterCodecs(); string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp"); string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1_SaveImage.cmp"); // Load the source file (make sure to load as 24 bits/pixel) RasterImage image = codecs.Load(srcFileName, 24, CodecsLoadByteOrder.Bgr, 1, 1); // Instruct RasterCodecs to generate the saved scanlines data for us to manipulate codecs.Options.Save.RetrieveDataFromImage = true; // Add a handler to the SaveImage event codecs.SaveImage += new EventHandler<CodecsSaveImageEventArgs>(codecs_SaveImage); // Save the image codecs.Save(image, destFileName, RasterImageFormat.Cmp, 24); codecs.SaveImage -= new EventHandler<CodecsSaveImageEventArgs>(codecs_SaveImage); image.Dispose(); // Clean up codecs.Dispose(); } private void codecs_SaveImage(object sender, CodecsSaveImageEventArgs e) { // This example works with images saved as 24-bit per pixel only Debug.Assert(e.Image.BitsPerPixel == 24); e.Cancel = false; if (e.Row == 0) { // Show information about the image being saved Debug.WriteLine("Saving an image with {0} bpp to {1}", e.Image.BitsPerPixel, e.FileName); Debug.WriteLine("Offset: {0}, OffsetValid: {1}", e.Offset, e.OffsetValid); Debug.WriteLine("Page: {0} of {1}", e.Page, e.LastPage - e.FirstPage + 1); Debug.WriteLine("Page percent: {0}%, Total percent: {1}%, Image Page: {2}", e.PagePercent, e.TotalPercent, e.ImagePage); if(e.Stream != null) { Debug.WriteLine("Stream: {0}", e.Stream); } } Debug.WriteLine("Row: {0}, Lines {1}", e.Row, e.Lines); // Get the scanlines from the image int scanlineLength = e.Image.BytesPerLine; byte[] scanline = new byte[scanlineLength]; // Loop through all the scanlines in the data for (int y = 0; y < e.Lines; y++) { // Get this row e.Buffer.GetData(y * scanlineLength, scanline, 0, scanlineLength); // We got the data, now double the intensity // Remember, this is 24-bits/pixel for (int x = 0; x < scanlineLength; x++) { scanline[x] *= 2; } // Copy it back to the event buffer e.Buffer.SetData(y * scanlineLength, scanline, 0, scanlineLength); } } static class LEAD_VARS { public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; }

Leadtools.Codecs Assembly

CompactFile(Stream,Stream,int,int,bool,int,int,bool,int,CodecsSavePageMode,bool,bool) Method

CompactFile(Stream,Stream,int,int,bool,long,int,bool,long,CodecsSavePageMode,bool,bool,bool) Method

CompactFile(string,string,int,int,bool,int,int,bool,int,CodecsSavePageMode,bool,bool) Method

CompactFile(string,string,int,int,bool,long,int,bool,long,CodecsSavePageMode,bool,bool,bool) Method

StartCompress(int,int,int,RasterByteOrder,RasterViewPerspective,int,byte[],int,int,CodecsCompression,CodecsCompressDataCallback) Method