Aspose.Imaging for .NET 21.11 - Release notes

Competitive features:

  • Support of FlateDecode decoder in EPS
KeySummaryCategory
IMAGINGNET-4708Support of FlateDecode decoder in EPSFeature
IMAGINGNET-4825Incorrect output when decompressing the BMP with DXT1 compressionEnhancement
IMAGINGNET-4800Convert SVG to PNG ProblemEnhancement
IMAGINGNET-4785Regression in compression methods when exporting to PSD formatEnhancement
IMAGINGNET-4783Unable to open the Tiff fileEnhancement
IMAGINGNET-4679Occasionally an exception occurs when running Image.Save in multiple threadsEnhancement
IMAGINGNET-4637EPS image Load method throws an exceptionEnhancement
IMAGINGNET-4634EPS image Size property throws an exceptionEnhancement
IMAGINGNET-4586Cannot load particular EPS imageEnhancement
IMAGINGNET-4582Memory Leaking due to cyclic references in Image classes.Enhancement
IMAGINGNET-4497“Unknown name ‘rectfill’” exception thrown when calling “Size” property for EPS imageEnhancement
IMAGINGNET-4457Property Size of EPS image throws an exceptionEnhancement

Public API changes:

Added APIs:

Class Aspose.Imaging.ImageOptions.PdfImageCompressionOptions

Field/Enum Aspose.Imaging.ImageOptions.PdfImageCompressionOptions.Auto

Field/Enum Aspose.Imaging.ImageOptions.PdfImageCompressionOptions.Ccitt3

Field/Enum Aspose.Imaging.ImageOptions.PdfImageCompressionOptions.Ccitt4

Field/Enum Aspose.Imaging.ImageOptions.PdfImageCompressionOptions.Flate

Field/Enum Aspose.Imaging.ImageOptions.PdfImageCompressionOptions.Jpeg

Field/Enum Aspose.Imaging.ImageOptions.PdfImageCompressionOptions.LzwBaselinePredictor

Field/Enum Aspose.Imaging.ImageOptions.PdfImageCompressionOptions.LzwOptimizedPredictor

Field/Enum Aspose.Imaging.ImageOptions.PdfImageCompressionOptions.None

Field/Enum Aspose.Imaging.ImageOptions.PdfImageCompressionOptions.Rle

Property Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock.BackgroundColor

Property Aspose.Imaging.FileFormats.Pdf.PdfCoreOptions.Compression

Property Aspose.Imaging.ImageOptions.TiffOptions.DisableIccExport

Removed APIs:

Usage Examples:

IMAGINGNET-4825 Incorrect output when decompressing the BMP with DXT1 compression

using (var image = Image.Load("CompressedTiger.bmp"))
{
    image.Save("DecompressedTiger.bmp", new BmpOptions());
}

IMAGINGNET-4800 Convert SVG to PNG Problem

const string baseFolder = @"D:\";
const string fileName = "Halle_2.svg";
var inputFileName = Path.Combine(baseFolder, fileName);
var outFileName = inputFileName + ".png";
using (Image image = Image.Load(inputFileName))
{
   image.Save(outFileName, new PngOptions());
}

IMAGINGNET-4785 Regression in compression methods when exporting to PSD format

using (Image image = Image.Load("p2.png"))
{
    image.Save("output.psd", new PsdOptions() { CompressionMethod = CompressionMethod.RLE });
}

IMAGINGNET-4783 Unable to open the Tiff file

var testTiffImage = @"D:\00013562300662_C7N1_s103.tif";
var testTiffBytes = File.ReadAllBytes(testTiffImage);
using (var msSource = new MemoryStream(testTiffBytes))
using (var imgSource = Aspose.Imaging.Image.Load(msSource))
{
   imgSource.Save(@"D:\00013562300662_C7N1_s103.tif.png", new PngOptions());
}

IMAGINGNET-4708 Support of FlateDecode decoder in EPS

using (var image = Image.Load("Main.eps"))
{
	var t = image.Size;
}

IMAGINGNET-4679 Occasionally an exception occurs when running Image.Save in multiple threads

using Aspose.Imaging.ImageOptions;
using Aspose.Imaging;
using System.IO;
using System.Threading;
using System.Collections.Generic;
using System;


string inputDirPath = @"C:\Data\input";
string outputDirPath = @"C:\Data\output";

// Repeat until error
for (int i = 0; i < 10; i++)
{
	ConvertFiles(inputDirPath, outputDirPath);

	// If no error, clear output files.                
	foreach (string outputFile in System.IO.Directory.GetFiles(outputDirPath))
	{
		File.Delete(outputFile);
	}
}

IMAGINGNET-4637 EPS image Load method throws an exception

using (var image = Image.Load("Main.eps"))
{
	var t = image.Size;
}

IMAGINGNET-4634 EPS image Size property throws an exception

using (var image = Image.Load("image.eps"))
{
	var t = image.Size;
}

IMAGINGNET-4586 Cannot load particular EPS image

using (var image = Image.Load("WCC4J0AUX0NU.eps"))
{
	var t = image.Size;
}

IMAGINGNET-4582 Memory Leaking due to cyclic references in Image classes.

public void TestMemoryLeaking()
{
	string filePath = TestDirectoryHelper.CombinePath("testdata", "Images", "Djvu", "1998_zcoder.djvu");
	this.CurrentTestingMethodName = "TestMemoryLeaking";
	string inputFilePath = GetFileInCustomFolderRelativeToBase(filePath);
	WeakReference w = JustLoad(inputFilePath);
	System.Diagnostics.Stopwatch watcher = new System.Diagnostics.Stopwatch();
	watcher.Start();
	while (w.IsAlive)
	{
		if (watcher.ElapsedMilliseconds > 10000)
		{
			Assert.Fail("Image is still in memory!");
			return;
		}

		GC.Collect();
		System.Threading.Thread.Sleep(300);
	}
}

private WeakReference JustLoad(string fileName)
{
	return new WeakReference(Image.Load(fileName));
}

IMAGINGNET-4497 “Unknown name ‘rectfill’” exception thrown when calling “Size” property for EPS image

using (var image = Image.Load("Happy New Year 2021 White.eps"))
{
	var t = image.Size;
}

IMAGINGNET-4457 Property Size of EPS image throws an exception

using (var image = Image.Load("image.eps"))
{
	var t = image.Size;
}