CompositeJpxImages specifies the layer color, opacity, pre-multiplied opacity, and compression information.
public class CompositeJpxImages If an image is not allocated that means the layer has no channel of this type.
using Leadtools;using Leadtools.Codecs;using Leadtools.Jpeg2000;public void SaveCompositeStringExample(byte[] xmlData){RasterCodecs codecs = new RasterCodecs();codecs.ThrowExceptionsOnInvalidImages = true;// Load a JPEG 2000 imageJpeg2000Engine engine = new Jpeg2000Engine();List<CompositeJpxImages> images = engine.LoadComposite(codecs, Path.Combine(LEAD_VARS.ImagesDir, "image1.jpx"), 0, CodecsLoadByteOrder.BgrOrGray);engine.ResetEngineBoxes();GtsoBox gtsoBox = (GtsoBox)(engine.ReadBox(Path.Combine(LEAD_VARS.ImagesDir, "image1.jpx"), Jpeg2000BoxType.GtsoBox, 0));engine.SetBox(Jpeg2000FileFormat.LeadJpx, gtsoBox);//Save the image in JPX file formatengine.SaveComposite(codecs, Path.Combine(LEAD_VARS.ImagesDir, "Test.jpx"), images, Jpeg2000FileFormat.LeadJpx, 24, 5);//Append an XML boxXmlBox xmlBox = new XmlBox();xmlBox.Data = xmlData;List<XmlBox> xmlBoxes = new List<XmlBox>();xmlBoxes.Add(xmlBox);engine.AppendBoxes(Path.Combine(LEAD_VARS.ImagesDir, "Test.jpx"), xmlBoxes);// Clean upforeach (CompositeJpxImages image in images){image.ColorImage.Dispose();image.OpacityImage.Dispose();image.PreOpacityImage.Dispose();}codecs.Dispose();}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";}