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
| Name | Descripción |
|---|---|
| PngOptions() | Inicializa una nueva instancia de la clase PngOptions. |
| PngOptions(png_options) | Inicializa una nueva instancia de la clase PngOptions. |
Properties
| Name | Type | Access | Descripción |
|---|---|---|---|
| DEFAULT_COMPRESSION_LEVEL [static] | PngCompressionLevel | r | El nivel de compresión predeterminado. |
| bit_depth | System.Byte | r/w | Obtiene 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_hint | int | r/w | Obtiene 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_type | PngColorType | r/w | Obtiene o establece el tipo de color. |
| compression_level | int | r/w | Obtiene o establece el nivel de compresión del PngImage. |
| disposed | bool | r | Obtiene un valor que indica si esta instancia está disposed. |
| exif_data | ExifData | r/w | Obtiene o establece los datos Exif. |
| filter_type | PngFilterType | r/w | Obtiene o establece el tipo de filtro usado durante el proceso de guardado del archivo png. |
| full_frame | bool | r/w | Obtiene o establece un valor que indica si [full frame]. |
| keep_metadata | bool | r/w | Obtiene un valor que indica si conservar los metadatos originales de la imagen al exportar. |
| multi_page_options | MultiPageOptions | r/w | Las opciones multipágina |
| palette | IColorPalette | r/w | Obtiene o establece la paleta de colores. |
| png_compression_level | PngCompressionLevel | r/w | Obtiene o establece el nivel de compresión del PngImage. |
| progressive | bool | r/w | Obtiene o establece un valor que indica si un PngImage es progresivo. |
| resolution_settings | ResolutionSetting | r/w | Obtiene o establece la configuración de resolución. |
| source | Source | r/w | Obtiene o establece la fuente en la que crear la imagen. |
| vector_rasterization_options | VectorRasterizationOptions | r/w | Obtiene o establece las opciones de rasterización vectorial. |
| xmp_data | XmpPacketWrapper | r/w | Obtiene o establece el contenedor de metadatos XMP. |
Methods
| Name | Descripció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ámetro | Tipo | Descripción |
|---|---|---|
| png_options | PngOptions | Las 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
| Tipo | Descripción |
|---|---|
| ImageOptionsBase | Una 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ámetro | Tipo | Descripción |
|---|---|---|
| metadata | IImageMetadataFormat | Los metadatos. |
Returns
| Tipo | Descripción |
|---|---|
| bool | Verdadero, 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