PngOptions Klasse

Summary: Create high-quality Portable Network Graphics (PNG) raster images effortlessly
with our API, offering customizable options for compression levels,
bits per pixel depths, and alpha bits. Seamlessly process XMP metadata containers,
ensuring comprehensive image metadata management, and empowering you to tailor
PNG images to your exact specifications with ease.

Module: aspose.imaging.imageoptions

Full Name: aspose.imaging.imageoptions.PngOptions

Inheritance: IMetadataContainer, IHasExifData, IHasMetadata, IHasXmpData, ImageOptionsBase

Constructors

NameBeschreibung
PngOptions()Initialisiert eine neue Instanz der PngOptions Klasse.
PngOptions(png_options)Initialisiert eine neue Instanz der PngOptions Klasse.

Properties

NameTypeAccessBeschreibung
DEFAULT_COMPRESSION_LEVEL [static]PngCompressionLevelrDer Standard-Komprimierungsgrad.
bit_depthSystem.Byter/wLegt die Bit-Tiefenwerte im Bereich von 1, 2, 4, 8, 16 fest oder ruft sie ab.


Beachten Sie die folgenden Grenzen:


PngColorType.INDEXED_COLOR unterstützt Bit-Tiefen von 1, 2, 4, 8.


PngColorType.GRAYSCALE, PngColorType.GRAYSCALE_WITH_ALPHA unterstützen Bit-Tiefen von 8.


PngColorType.TRUECOLOR, PngColorType.TRUECOLOR_WITH_ALPHA unterstützen Bit-Tiefen von 8, 16.

buffer_size_hintintr/wLiest oder setzt den Hinweis zur Puffergröße, der die maximal zulässige Größe für alle internen Puffer definiert.
color_typePngColorTyper/wLiest oder setzt den Typ der Farbe.
compression_levelintr/wLegt den Komprimierungsgrad der PngImage fest oder ruft ihn ab.
freigegebenboolrLiest einen Wert, der angibt, ob diese Instanz freigegeben ist.
exif_dataExifDatar/wLiest oder setzt die Exif-Daten.
filter_typePngFilterTyper/wLegt den Filtertyp fest, der beim Speichern von PNG-Dateien verwendet wird, oder ruft ihn ab.
full_frameboolr/wLiest oder setzt einen Wert, der angibt, ob [full frame].
keep_metadataboolr/wLiest einen Wert, ob die ursprünglichen Bildmetadaten beim Export beibehalten werden sollen.
multi_page_optionsMultiPageOptionsr/wDie Mehrseiten‑Optionen
paletteIColorPaletter/wLiest oder setzt die Farbpalette.
png_compression_levelPngCompressionLevelr/wLegt den Komprimierungsgrad der PngImage fest oder ruft ihn ab.
progressiveboolr/wLegt einen Wert fest, der angibt, ob eine PngImage progressiv ist, oder ruft ihn ab.
resolution_settingsResolutionSettingr/wLiest oder setzt die Auflösungseinstellungen.
sourceSourcer/wLiest oder setzt die Quelle, in der das Bild erstellt wird.
vector_rasterization_optionsVectorRasterizationOptionsr/wLiest oder setzt die Vektor‑Rasterisierungsoptionen.
xmp_dataXmpPacketWrapperr/wLiest oder setzt den XMP‑Metadatencontainer.

Methods

NameBeschreibung
clone()Erstellt eine memberweise Kopie dieser Instanz.
try_set_metadata(metadata)Versucht, eine metadata-Instanz zu setzen, falls diese Image‑Instanz unterstützt und eine IImageMetadataFormat‑Instanz implementiert.

Constructor: PngOptions()

 PngOptions() 

Initialisiert eine neue Instanz der PngOptions Klasse.

Constructor: PngOptions(png_options)

 PngOptions(png_options) 

Initialisiert eine neue Instanz der PngOptions Klasse.

Parameters:

ParameterTypBeschreibung
png_optionsPngOptionsDie PNG‑Optionen.

Property: color_type

Liest oder setzt den Typ der Farbe.

See also:

Example # 1: The following example shows how to compress a PNG image, using indexed color …

Property: compression_level

Legt den Komprimierungsgrad der PngImage fest oder ruft ihn ab.

See also:

Example # 1: The following example shows how to compress a PNG image, using indexed color …

Property: progressive

Legt einen Wert fest, der angibt, ob eine PngImage progressiv ist, oder ruft ihn ab.

See also:

Example # 1: The following example shows how to compress a PNG image, using indexed color …

Method: clone()

 clone() 

Erstellt eine memberweise Kopie dieser Instanz.

Returns

TypBeschreibung
ImageOptionsBaseEine memberweise Kopie dieser Instanz.

Method: try_set_metadata(metadata)

 try_set_metadata(metadata) 

Versucht, eine metadata-Instanz zu setzen, falls diese Image‑Instanz unterstützt und eine IImageMetadataFormat‑Instanz implementiert.

Parameters:

ParameterTypBeschreibung
metadataIImageMetadataFormatDie Metadaten.

Returns

TypBeschreibung
boolTrue, wenn die IMetadataContainer Instanz unterstützt und/oder das IImageMetadataFormat implementiert; andernfalls false.

Examples

This example uses Graphics class to create primitive shapes on the Image surface. To demonstrate the operation, the example creates a new Image in PNG format and draw primitive shapes on Image surface using Draw methods exposed by Graphics class


from aspose.imaging import Image, RotateFlipType, Graphics, Color, Pen, Rectangle, Point, Size,\
	Font, PointF
from aspose.imaging.brushes import SolidBrush
from aspose.imaging.imageoptions import PngOptions
from aspose.imaging.fileformats.psd import CompressionMethod, ColorModes
from aspose.imaging.sources import StreamSource

from os.path import join as path_join

#Erstellt eine Instanz eines Dateistreams.
with open(r"C:\temp\output.png", "w+b") as stream:
	#Erstelle eine Instanz von PngOptions und setze deren verschiedene Eigenschaften.
	pngOptions = PngOptions()
	#Setze die Quelle für PngOptions.
	pngOptions.source = StreamSource(stream)
	#Erstelle eine Instanz von Image.
	with Image.create(pngOptions, 500, 500) as image:
		#Erstelle und initialisiere eine Instanz der Graphics Klasse.
		graphics = Graphics(image)
		#Lösche die Graphics-Oberfläche.
		graphics.clear(Color.wheat);
		#Zeichne einen Bogen, indem du das Pen-Objekt mit schwarzer Farbe angibst, 
		#ein Rechteck, das den Bogen umgibt, Startwinkel und Sweep-Winkel.
		graphics.draw_arc(Pen(Color.black, 2.0), Rectangle(200, 200, 100, 200), 0, 300)
		#Zeichne eine Bézierkurve, indem du das Pen-Objekt mit blauer Farbe und Koordinatenpunkten angibst.
		graphics.draw_bezier(Pen(Color.blue, 2.0), Point(250, 100), Point(300, 30), Point(450, 100), Point(235, 25))
		#Zeichnen Sie eine Kurve, indem Sie das Pen-Objekt mit grüner Farbe und einem Array von Punkten angeben.
		graphics.draw_curve(Pen(Color.green, 2.0), [Point(100, 200), Point(100, 350), Point(200, 450)])
		#Zeichnen Sie eine Ellipse mit dem Pen-Objekt und einem umgebenden Rechteck.
		graphics.draw_ellipse(Pen(Color.yellow, 2.0), Rectangle(300, 300, 100, 100))
		#Zeichnen Sie eine Linie
		graphics.draw_line(Pen(Color.violet, 2.0), Point(100, 100), Point(200, 200))
		#Zeichnen Sie ein Kuchenstück.
		graphics.draw_pie(Pen(Color.silver, 2.0), Rectangle(Point(200, 20), Size(200, 200)), 0, 45);
		#Zeichnen Sie ein Polygon, indem Sie das Pen-Objekt mit roter Farbe und einem Array von Punkten angeben.
		graphics.draw_polygon(Pen(Color.red, 2.0), [Point(20, 100), Point(20, 200), Point(220, 20)])
		#Zeichnen Sie ein Rechteck.
		graphics.draw_rectangle(Pen(Color.orange, 2.0), Rectangle(Point(250, 250), Size(100, 100)))
		#Erstellen Sie ein SolidBrush-Objekt und setzen Sie dessen verschiedene Eigenschaften.
		brush = SolidBrush()
		brush.color = Color.purple
		#Zeichnen Sie einen String mit dem SolidBrush-Objekt und Font an einem bestimmten Punkt.
		graphics.draw_string("This image is created by Aspose.Imaging API", Font("Times New Roman", 16),
							 brush, PointF(50.0, 400.0))
		# Alle Änderungen speichern.
		image.save();

This example demonstrates the use of different classes from imageoptions package for export purposes. A gif image is loaded as an instance of Image and then exported out to several formats.


from aspose.imaging import Image
from aspose.imaging.imageoptions import BmpOptions, JpegOptions, PngOptions, TiffOptions
from aspose.imaging.fileformats.tiff.enums import TiffExpectedFormat
from os.path import join as path_join

directory = "c:\\temp\\"
#Lade ein vorhandenes GIF-Bild als Instanz der Image‑Klasse
with Image.load(path_join(directory, "sample.gif")) as image:
	# Exportiere in das BMP-Dateiformat unter Verwendung der Standardoptionen
	image.save(path_join(directory, "output.bmp"), BmpOptions())
	# Exportiere in das JPEG-Dateiformat unter Verwendung der Standardoptionen
	image.save(path_join(directory, "output.jpg"), JpegOptions())
	# Exportiere in das PNG-Dateiformat unter Verwendung der Standardoptionen
	image.save(path_join(directory, "output.png"), PngOptions())
	# Exportiere in das TIFF-Dateiformat unter Verwendung der Standardoptionen
	image.save(path_join(directory, "output.tif"), TiffOptions(TiffExpectedFormat.DEFAULT))

The following example shows how to compress a PNG image, using indexed color with best fit palette


from aspose.pycore import as_of
from aspose.imaging import Image, ColorPaletteHelper, RasterImage, PaletteMiningMethod
from aspose.imaging.fileformats.png import PngColorType

# Lädt PNG‑Bild        
sourceFilePath = "OriginalRings.png"
outputFilePath = "OriginalRingsOutput.png"
with Image.load(sourceFilePath) as image:
	png_options = PngOptions()
	png_options.progressive = True
	# Verwende indizierten Farbtyp
	png_options.color_type = PngColorType.INDEXED_COLOR
	# Verwende maximale Kompression
	png_options.compression_level = 9
	# Erhalte die nächstgelegene 8‑Bit-Farbpalette, die so viele Pixel wie möglich abdeckt, sodass ein Bild
	# mit Palette fast visuell nicht von einem Bild ohne Palette zu unterscheiden ist.
	png_options.palette = ColorPaletteHelper.get_close_image_palette(
						as_of(image, RasterImage), 256, 
						PaletteMiningMethod.HISTOGRAM)
		 
	image.save(outputFilePath, png_options);
}
# Die Ausgabedateigröße sollte deutlich reduziert werden