Appends a single box to a JPEG 2000 file. This method is available in the Document/Medical Toolkits.
public void AppendBox(string fileName,Jpeg2000SingleBox box)
fileName
System.String containing the name of the JPEG 2000 file.
box
Jpeg2000SingleBox object containing the box data being appended.
According to the JPEG 2000 standard a ResolutionBox cannot be appended to a file. Set it using the SetBox method. Attempting to append a ResolutionBox will cause an invalid parameter exception to be thrown.
using Leadtools;using Leadtools.Codecs;using Leadtools.Jpeg2000;public void SaveStringExample(){RasterCodecs codecs = new RasterCodecs();codecs.ThrowExceptionsOnInvalidImages = true;// Load a JPEG 2000 imageJpeg2000Engine engine = new Jpeg2000Engine();RasterImage image = engine.Load(codecs, Path.Combine(LEAD_VARS.ImagesDir, "image1.jp2"), 0, CodecsLoadByteOrder.BgrOrGray);List<XmlBox> xmlBoxes = engine.GetBoxes<XmlBox>(Jpeg2000FileFormat.LeadJp2);ResolutionBox resBox = (ResolutionBox)engine.GetBox(Jpeg2000FileFormat.LeadJp2, Jpeg2000BoxType.ResolutionBox);engine.ResetEngineBoxes();//Set the JPX engine's XML boxengine.SetBoxes(Jpeg2000FileFormat.LeadJpx, xmlBoxes);engine.SetBox(Jpeg2000FileFormat.LeadJpx, resBox);//Save the image in JPX file formatengine.Save(codecs, Path.Combine(LEAD_VARS.ImagesDir, "Test.jpx"), image, Jpeg2000FileFormat.LeadJpx, 24, 5);//Append Intellectual Property Rights boxString copyRights = ("Copyright (c) 1991-2022 by LEAD Technologies, Inc. All Rights Reserved.");IprBox ipr = new IprBox();ipr.Data = Encoding.ASCII.GetBytes(copyRights);engine.AppendBox(Path.Combine(LEAD_VARS.ImagesDir, "Test.jpx"), ipr);// Clean upengine.Dispose();image.Dispose();codecs.Dispose();}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images";}