Clase PngOptions

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

NameDescripción
PngOptions()Inicializa una nueva instancia de la clase PngOptions.
PngOptions(png_options)Inicializa una nueva instancia de la clase PngOptions.

Properties

NameTypeAccessDescripción
DEFAULT_COMPRESSION_LEVEL [static]PngCompressionLevelrEl nivel de compresión predeterminado.
bit_depthSystem.Byter/wObtiene o establece los valores de profundidad de bits en el rango de 1, 2, 4, 8, 16.


Tenga en cuenta los siguientes límites:


PngColorType.INDEXED_COLOR soporta profundidad de bits de 1, 2, 4, 8.


PngColorType.GRAYSCALE, PngColorType.GRAYSCALE_WITH_ALPHA soportan profundidad de bits de 8.


PngColorType.TRUECOLOR, PngColorType.TRUECOLOR_WITH_ALPHA soportan profundidad de bits de 8, 16.

buffer_size_hintintr/wObtiene o establece la sugerencia de tamaño del búfer, que se define como el tamaño máximo permitido para todos los búferes internos.
color_typePngColorTyper/wObtiene o establece el tipo de color.
compression_levelintr/wObtiene o establece el nivel de compresión del PngImage.
disposedboolrObtiene un valor que indica si esta instancia está disposed.
exif_dataExifDatar/wObtiene o establece los datos Exif.
filter_typePngFilterTyper/wObtiene o establece el tipo de filtro usado durante el proceso de guardado del archivo png.
full_frameboolr/wObtiene o establece un valor que indica si [full frame].
keep_metadataboolr/wObtiene un valor que indica si conservar los metadatos originales de la imagen al exportar.
multi_page_optionsMultiPageOptionsr/wLas opciones multipágina
paletteIColorPaletter/wObtiene o establece la paleta de colores.
png_compression_levelPngCompressionLevelr/wObtiene o establece el nivel de compresión del PngImage.
progressiveboolr/wObtiene o establece un valor que indica si un PngImage es progresivo.
resolution_settingsResolutionSettingr/wObtiene o establece la configuración de resolución.
sourceSourcer/wObtiene o establece la fuente en la que crear la imagen.
vector_rasterization_optionsVectorRasterizationOptionsr/wObtiene o establece las opciones de rasterización vectorial.
xmp_dataXmpPacketWrapperr/wObtiene o establece el contenedor de metadatos XMP.

Methods

NameDescripción
clone()Crea una clonación por miembros de esta instancia.
try_set_metadata(metadata)Intenta establecer una instancia de metadata, si esta instancia de Image admite e implementa la instancia IImageMetadataFormat.

Constructor: PngOptions()

 PngOptions() 

Inicializa una nueva instancia de la clase PngOptions.

Constructor: PngOptions(png_options)

 PngOptions(png_options) 

Inicializa una nueva instancia de la clase PngOptions.

Parameters:

ParámetroTipoDescripción
png_optionsPngOptionsLas opciones PNG.

Property: color_type

Obtiene o establece el tipo de color.

See also:

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

Property: compression_level

Obtiene o establece el nivel de compresión del PngImage.

See also:

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

Property: progressive

Obtiene o establece un valor que indica si un PngImage es progresivo.

See also:

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

Method: clone()

 clone() 

Crea una clonación por miembros de esta instancia.

Returns

TipoDescripción
ImageOptionsBaseUna clonación por miembros de esta instancia.

Method: try_set_metadata(metadata)

 try_set_metadata(metadata) 

Intenta establecer una instancia de metadata, si esta instancia de Image admite e implementa la instancia IImageMetadataFormat.

Parameters:

ParámetroTipoDescripción
metadataIImageMetadataFormatLos metadatos.

Returns

TipoDescripción
boolVerdadero, si la instancia IMetadataContainer admite y/o implementa la instancia IImageMetadataFormat; de lo contrario, falso.

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

#Crea una instancia de flujo de archivo
with open(r"C:\temp\output.png", "w+b") as stream:
	#Crea una instancia de PngOptions y establece sus diversas propiedades
	pngOptions = PngOptions()
	#Establece la fuente para PngOptions
	pngOptions.source = StreamSource(stream)
	#Crea una instancia de Image
	with Image.create(pngOptions, 500, 500) as image:
		#Crea e inicializa una instancia de la clase Graphics
		graphics = Graphics(image)
		#Limpia la superficie Graphics
		graphics.clear(Color.wheat);
		#Dibuja un arco especificando el objeto Pen que tiene color negro, 
		#un rectángulo que rodea el arco, ángulo de inicio y ángulo de barrido
		graphics.draw_arc(Pen(Color.black, 2.0), Rectangle(200, 200, 100, 200), 0, 300)
		#Dibuja una curva Bézier especificando el objeto Pen que tiene color azul y puntos de coordenadas.
		graphics.draw_bezier(Pen(Color.blue, 2.0), Point(250, 100), Point(300, 30), Point(450, 100), Point(235, 25))
		#Dibuje una curva especificando el objeto Pen con color Verde y una matriz de Points
		graphics.draw_curve(Pen(Color.green, 2.0), [Point(100, 200), Point(100, 350), Point(200, 450)])
		#Dibuje una elipse usando el objeto Pen y un Rectangle circundante
		graphics.draw_ellipse(Pen(Color.yellow, 2.0), Rectangle(300, 300, 100, 100))
		#Dibuje una línea
		graphics.draw_line(Pen(Color.violet, 2.0), Point(100, 100), Point(200, 200))
		#Dibuje un segmento de Pie
		graphics.draw_pie(Pen(Color.silver, 2.0), Rectangle(Point(200, 20), Size(200, 200)), 0, 45);
		#Dibuje un polígono especificando el objeto Pen con color Rojo y una matriz de Points
		graphics.draw_polygon(Pen(Color.red, 2.0), [Point(20, 100), Point(20, 200), Point(220, 20)])
		#Dibuje un Rectangle
		graphics.draw_rectangle(Pen(Color.orange, 2.0), Rectangle(Point(250, 250), Size(100, 100)))
		#Cree un objeto SolidBrush y establezca sus diversas propiedades
		brush = SolidBrush()
		brush.color = Color.purple
		#Dibuje un String usando el objeto SolidBrush y Font, en un Point específico
		graphics.draw_string("This image is created by Aspose.Imaging API", Font("Times New Roman", 16),
							 brush, PointF(50.0, 400.0))
		# guarde todos los cambios.
		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\\"
#Cargar una imagen gif existente como una instancia de la clase Image
with Image.load(path_join(directory, "sample.gif")) as image:
	# Exportar al formato de archivo BMP usando las opciones predeterminadas
	image.save(path_join(directory, "output.bmp"), BmpOptions())
	# Exportar al formato de archivo JPEG usando las opciones predeterminadas
	image.save(path_join(directory, "output.jpg"), JpegOptions())
	# Exportar al formato de archivo PNG usando las opciones predeterminadas
	image.save(path_join(directory, "output.png"), PngOptions())
	# Exportar al formato de archivo TIFF usando las opciones predeterminadas
	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

# Carga una imagen png        
sourceFilePath = "OriginalRings.png"
outputFilePath = "OriginalRingsOutput.png"
with Image.load(sourceFilePath) as image:
	png_options = PngOptions()
	png_options.progressive = True
	# Usar tipo de color indexado
	png_options.color_type = PngColorType.INDEXED_COLOR
	# Usar compresión máxima
	png_options.compression_level = 9
	# Obtén la paleta de colores de 8 bits más cercana, cubriendo la mayor cantidad posible de píxeles, de modo que una imagen
	# con paleta sea casi indistinguible visualmente de una imagen sin paleta.
	png_options.palette = ColorPaletteHelper.get_close_image_palette(
						as_of(image, RasterImage), 256, 
						PaletteMiningMethod.HISTOGRAM)
		 
	image.save(outputFilePath, png_options);
}
# El tamaño del archivo de salida debería reducirse significativamente