Browse our Products

Aspose.Imaging for Python via .NET 24.11 - Release notes

Competitive features:

  • Implement SVG vector effect “non-scaling-stroke”
  • Support AVIF file format
KeySummaryCategory
IMAGINGPYTHONNET-314Conversion of Dicom to PDF fails in evaluation modeEnhancement
IMAGINGPYTHONNET-313Can’t convert EPS to PNGEnhancement
IMAGINGPYTHONNET-312Implement SVG vector effect “non-scaling-stroke”Feature
IMAGINGPYTHONNET-311Invalid CDR export: render has incorrect colorsEnhancement
IMAGINGPYTHONNET-310Support AVIF file formatFeature
IMAGINGPYTHONNET-309Several issues with specific CDR file while saving it to PNGEnhancement
IMAGINGPYTHONNET-308Text is lost when converting emf to jpgEnhancement
IMAGINGPYTHONNET-307Incorrect SVG rasterizationEnhancement
IMAGINGPYTHONNET-306CDR to PDF conversion issueEnhancement
IMAGINGPYTHONNET-289Fix RasterImage.Filter using specified rectEnhancement
IMAGINGPYTHONNET-288DNG from MemoryStream is recognized as TIFFEnhancement
IMAGINGPYTHONNET-286Corrupted output on GIF resize and exportEnhancement
IMAGINGPYTHONNET-285Preserve transparency on APNG to GIF conversionEnhancement

Public API changes:

Usage Examples:

IMAGINGPYTHONNET-314 Conversion of Dicom to PDF fails in evaluation mode

from aspose.imaging import Image

inputPath = "input.dcm"
with Image.load(inputPath) as image:
	image.save(inputPath + ".pdf")

IMAGINGPYTHONNET-313 Can’t convert EPS to PNG

from aspose.imaging import Image
from aspose.imaging.imageoptions import EpsRasterizationOptions, PngOptions

with Image.load("c03f002.eps") as image:
	options = PngOptions()
	eps_options = EpsRasterizationOptions()
	eps_options.page_width = image.width
	eps_options.page_height = image.height
	options.vector_rasterization_options = eps_options
	image.save("result.png", options)

IMAGINGPYTHONNET-312 Implement SVG vector effect “non-scaling-stroke”

from aspose.imaging import Image

inputPath = "input.svg"
with Image.load(inputPath) as image:
	image.save(inputPath + ".png")

IMAGINGPYTHONNET-311 Invalid CDR export: render has incorrect colors

from aspose.imaging import Image
from aspose.imaging.fileformats.tiff.enums import TiffExpectedFormat
from aspose.imaging.imageoptions import TiffOptions

with Image.load("UNIFILL.CDR") as image:
    options = TiffOptions(TiffExpectedFormat.TIFF_LZW_CMYK)
    image.save("UNIFILL.CDR.tiff", options)

IMAGINGPYTHONNET-310 Support AVIF file format

### Example
The sample AVIF image is exported into a PNG image format.
from aspose.pycore import as_of
from aspose.imaging import Image
from aspose.imaging.fileformats.avif import AvifImage

inputFilePath = "kodim23_yuv420_8bpc.avif"
outputFilePath = "kodim23_yuv420_8bpc.avif.png"
with as_of(Image.load(inputFilePath), AvifImage) as image:
	image.save(outputFilePath)

IMAGINGPYTHONNET-308 Text is lost when converting emf to jpg

from aspose.imaging import Image

with Image.load("image2.emf") as emfImage:
    emfImage.save("image2.emf.jpg")

IMAGINGPYTHONNET-307 Incorrect SVG rasterization

Paths with move commands do work correct now. For example:
d="M108 200
v60
m224-60
v60" 
from aspose.imaging import Image
from aspose.imaging.imageoptions import PngOptions


with Image.load("box.svg") as image:
	image.save("box.svg.png", PngOptions())

IMAGINGPYTHONNET-306 CDR to PDF conversion issue

from aspose.pycore import as_of
from aspose.imaging import Image
from aspose.imaging.fileformats.cdr import CdrImage
from aspose.imaging.imageoptions import CdrRasterizationOptions, PdfOptions

with as_of(Image.load("sample.cdr"), CdrImage) as image:
	vector_options = CdrRasterizationOptions()
    vector_options.page_width = image.width
    vector_options.page_height = image.height
	pdf_options = PdfOptions()
	pdf_options.vector_rasterization_options = vector_options
	image.save("result.pdf", pdf_options)

IMAGINGPYTHONNET-289 Fix RasterImage.Filter using specified rect

from aspose.pycore import as_of
from aspose.imaging import Image, RasterImage
from aspose.imaging.imagefilters.filteroptions import GaussianBlurFilterOptions

inputPath = "input.png"
with as_of(Image.load(inputPath), RasterImage) as image:
	clip = image.bounds
	clip.inflate(-clip.width // 4, -clip.height // 4)
	image.filter(clip, GaussianBlurFilterOptions())
	image.save(inputPath + ".png")

IMAGINGPYTHONNET-288 DNG from MemoryStream is recognized as TIFF

from aspose.imaging import Image, FileFormat
from aspose.imaging.extensions import StreamExtensions as streams

input_file = "input.dng"
with open(input_file, "rb") as file_stream,
	streams.create_memory_stream() as memory_stream:
		tmp = bytearray(4000)
		while (count := file_stream.readinto(tmp)) != 0:
			memory_stream.write(tmp[0:count])

	file_stream.seek(0)
	file_format = Image.get_file_format(file_stream)

	memory_stream.seek(0)
	format_of_memory_stream = Image.get_file_format(memory_stream)

	if (file_format == FileFormat.DNG and format_of_memory_stream == FileFormat.DNG):
		print("DNG is recognized.")
	else:
		raise Exception("DNG is recognized as TIFF")