Browse our Products

Aspose.Imaging for .NET 26.4 - Release notes

Competitive features:

  • Implement partial GDIRendering
KeySummaryCategory
IMAGINGNET-7906Implement partial GDIRenderingFeature
IMAGINGNET-7986Fix bug on export to Pdf for images without own streamEnhancement
IMAGINGNET-7872CDR to WEBP IndexOutOfRangeExceptionEnhancement
IMAGINGNET-7818MemMgr crushes at the moment of its finalizationEnhancement
IMAGINGNET-7747JPG file colors are incorrectly readEnhancement
IMAGINGNET-4696CDR to PDF - Image Loading FailedEnhancement

Public API changes:

Added APIs:

Class Aspose.Imaging.ImageFilters.FilterOptions.BlendingMode

Class Aspose.Imaging.ImageFilters.FilterOptions.ImageBlendingFilterOptions

Field/Enum Aspose.Imaging.ImageFilters.FilterOptions.BlendingMode.Color

Field/Enum Aspose.Imaging.ImageFilters.FilterOptions.BlendingMode.ColorBurn

Field/Enum Aspose.Imaging.ImageFilters.FilterOptions.BlendingMode.ColorDodge

Field/Enum Aspose.Imaging.ImageFilters.FilterOptions.BlendingMode.Darken

Field/Enum Aspose.Imaging.ImageFilters.FilterOptions.BlendingMode.Difference

Field/Enum Aspose.Imaging.ImageFilters.FilterOptions.BlendingMode.Exclusion

Field/Enum Aspose.Imaging.ImageFilters.FilterOptions.BlendingMode.HardLight

Field/Enum Aspose.Imaging.ImageFilters.FilterOptions.BlendingMode.Hue

Field/Enum Aspose.Imaging.ImageFilters.FilterOptions.BlendingMode.Lighten

Field/Enum Aspose.Imaging.ImageFilters.FilterOptions.BlendingMode.Luminosity

Field/Enum Aspose.Imaging.ImageFilters.FilterOptions.BlendingMode.Multiply

Field/Enum Aspose.Imaging.ImageFilters.FilterOptions.BlendingMode.Normal

Field/Enum Aspose.Imaging.ImageFilters.FilterOptions.BlendingMode.Overlay

Field/Enum Aspose.Imaging.ImageFilters.FilterOptions.BlendingMode.Saturation

Field/Enum Aspose.Imaging.ImageFilters.FilterOptions.BlendingMode.Screen

Field/Enum Aspose.Imaging.ImageFilters.FilterOptions.BlendingMode.SoftLight

Method Aspose.Imaging.Exif.ExifData.#ctor(System.Byte[])

Method Aspose.Imaging.Exif.ExifData.GetTagValue(Aspose.Imaging.Exif.ExifProperties)

Method Aspose.Imaging.ImageFilters.FilterOptions.ImageBlendingFilterOptions.#ctor

Property Aspose.Imaging.Exif.ExifData.XResolution

Property Aspose.Imaging.Exif.ExifData.YResolution

Property Aspose.Imaging.ImageFilters.FilterOptions.ConvolutionFilterOptions.BordersProcessing

Property Aspose.Imaging.ImageFilters.FilterOptions.ConvolutionFilterOptions.IgnoreAlpha

Property Aspose.Imaging.ImageFilters.FilterOptions.ImageBlendingFilterOptions.BlendingMode

Property Aspose.Imaging.ImageFilters.FilterOptions.ImageBlendingFilterOptions.Image

Property Aspose.Imaging.ImageFilters.FilterOptions.ImageBlendingFilterOptions.Opacity

Property Aspose.Imaging.ImageFilters.FilterOptions.ImageBlendingFilterOptions.Position

Removed APIs:

Usage Examples:

IMAGINGNET-7986 Fix bug on export to Pdf for images without own stream

Png to Pdf conversion:
using var image = new PngImage(32, 32, PngColorType.TruecolorWithAlpha);
var outputStream = new MemoryStream();
image.Save(outputStream, new PdfOptions());

{

IMAGINGNET-7906 Implement partial GDIRendering

using (var image = Image.Load("D:\\test.cdr"))
  {
     image.Save("D:\\test.png", new PngOptions(){VectorRasterizationOptions  = new CdrRasterizationOptions() { Positioning = PositioningTypes.Relative }});
  }

{

IMAGINGNET-7872 CDR to WEBP IndexOutOfRangeException

var fileName = "sample.cdr";
  using var image = Image.Load(fileName);
  var pages = (image as IMultipageImage).Pages;
  for (var i = 0; i < pages.Length; i++)
  {
      VectorRasterizationOptions rasterizationOptions = new CdrRasterizationOptions
      {
          PageWidth = Convert.ToInt32(pages[i].Width),
          PageHeight = Convert.ToInt32(pages[i].Height)
      };

      var webpOptions = new WebPOptions
      {
          Lossless = true,
          VectorRasterizationOptions = rasterizationOptions
      };

      pages[i].Save(fileName + "." + i + ".webp", webpOptions);
  }

{

IMAGINGNET-7818 MemMgr crushes at the moment of its finalization

Process image conversion async:
public static async Task Convert(string[] inputPaths, string[] outputPaths, ImageOptionsBase options)
{
    if (inputPaths.Length != outputPaths.Length)
    {
        throw new ArgumentException("Input and output length.");
    }

    var semaphore = new SemaphoreSlim(2); 

    var tasks = inputPaths.Select((input, i) => Task.Run(async () =>
    {
        await semaphore.WaitAsync();
        try
        {
            Convert(input, outputPaths[i], options);
        }
        finally
        {
            semaphore.Release();
        }
    }));

    await Task.WhenAll(tasks);
}

private static void Convert(string inputPath, string outputPath, ImageOptionsBase options)
{
    using var image = Image.Load(inputPath);
    image.Save(outputPath, options);
}

{

IMAGINGNET-7747 JPG file colors are incorrectly read

string inputPath = @"input.jpg";
using var image = Image.Load(inputPath);
image.Save(inputPath + ".png");

{

IMAGINGNET-4696 CDR to PDF - Image Loading Failed

var baseFolder = "D:\\";
   var fileName = "2020 BCF Golf Program.cdr";
   var inputFilePath = Path.Combine(baseFolder, fileName);
   var outputFilePath = inputFilePath + ".pdf";
   using (var image = Image.Load(inputFilePath))
   {
       image.Save(outputFilePath);
   }

{