WebPOptions

WebPOptions class

Opciones de imagen webp

public class WebPOptions : ImageOptionsBase

Constructores

NombreDescripción
WebPOptions()Constructor predeterminado

Propiedades

NombreDescripción
AnimBackgroundColor { get; set; }Obtiene o establece el color del fondo de la animación.
AnimLoopCount { get; set; }Obtiene o establece el número de bucles de animación.
BufferSizeHint { get; set; }Obtiene o establece la sugerencia de tamaño de búfer que se define como el tamaño máximo permitido para todos los búferes internos.
Disposed { get; }Obtiene un valor que indica si esta instancia se desecha.
FullFrame { get; set; }Obtiene o establece un valor que indica si [fotograma completo].
Lossless { get; set; }Obtiene o establece un valor que indica si esteWebPOptions es sin pérdidas.
MultiPageOptions { get; set; }Las opciones multipágina
virtual Palette { get; set; }Obtiene o establece la paleta de colores.
ProgressEventHandler { get; set; }Obtiene o establece el controlador de eventos de progreso.
Quality { get; set; }Obtiene o establece la calidad.
virtual ResolutionSettings { get; set; }Obtiene o establece la configuración de resolución.
Source { get; set; }Obtiene o establece la fuente para crear la imagen en.
VectorRasterizationOptions { get; set; }Obtiene o establece las opciones de rasterización de vectores.
virtual XmpData { get; set; }Obtiene o establece el contenedor de metadatos XMP.

Métodos

NombreDescripción
virtual Clone()Clona esta instancia.
Dispose()Elimina la instancia actual.

Ejemplos

Este ejemplo muestra cómo crear una imagen WebP a partir de otra imagen ráster con diferente calidad de compresión.

[C#]

string dir = "c:\\temp\\";

// Cargar una animación GIF
using (Aspose.Imaging.Image image = new Aspose.Imaging.Image.Load(dir + "test.gif"))
{
    // para la compresión sin pérdidas, aumentar la configuración de calidad aumenta la calidad de la compresión y disminuye el tamaño del archivo
    image.Save(
        dir + "output_lossless_20.webp",
        new  Aspose.Imaging.ImageOptions.WebPOptions() { Lossless = true, Quality = 20 }); // tamaño del archivo: 42 KB

    image.Save(
        dir + "output_lossless_50.webp",
        new  Aspose.Imaging.ImageOptions.WebPOptions() { Lossless = true, Quality = 50 }); // tamaño del archivo: 41 KB

    image.Save(
        dir + "output_lossless_80.webp",
        new  Aspose.Imaging.ImageOptions.WebPOptions() { Lossless = true, Quality = 80 }); // tamaño del archivo: 40 KB


    // para compresión con pérdida, aumentar el valor de Calidad aumenta la calidad de la imagen y aumenta el tamaño del archivo
    image.Save(
        dir + "output_lossy_20.webp",
        new  Aspose.Imaging.ImageOptions.WebPOptions() { Lossless = false, Quality = 20 }); // tamaño del archivo: 24 KB

    image.Save(
        dir + "output_lossy_50.webp",
        new  Aspose.Imaging.ImageOptions.WebPOptions() { Lossless = false, Quality = 50 }); // tamaño del archivo: 36 KB

    image.Save(
        dir + "output_lossy_80.webp",
        new  Aspose.Imaging.ImageOptions.WebPOptions() { Lossless = false, Quality = 80 }); // tamaño del archivo: 51 KB
}

El siguiente ejemplo muestra cómo convertir una imagen vectorial de varias páginas a formato WEBP de manera general sin hacer referencia a un tipo de imagen en particular.

[C#]

string dir = "C:\\aspose.imaging\\net\\misc\\ImagingReleaseQATester\\Tests\\testdata\\2548";
string inputFilePath = System.IO.Path.Combine(dir, "Multipage.cdr");
string outputFilePath = System.IO.Path.Combine(dir, "Multipage.cdr.webp");

Aspose.Imaging.ImageOptionsBase exportOptions = new Aspose.Imaging.ImageOptions.WebPOptions();

using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(inputFilePath))
{
    exportOptions.MultiPageOptions = null;

    // Exportar solo las dos primeras páginas. Estas páginas se presentarán como fotogramas animados en el WEBP de salida.
    Aspose.Imaging.IMultipageImage multipageImage = image as Aspose.Imaging.IMultipageImage;
    if (multipageImage != null && (multipageImage.Pages != null && multipageImage.PageCount > 2))
    {
        exportOptions.MultiPageOptions = new Aspose.Imaging.ImageOptions.MultiPageOptions(new Aspose.Imaging.IntRange(0, 2));
    }

    if (image is Aspose.Imaging.VectorImage)
    {
        exportOptions.VectorRasterizationOptions = (Aspose.Imaging.ImageOptions.VectorRasterizationOptions)image.GetDefaultOptions(new object[] { Aspose.Imaging.Color.White, image.Width, image.Height });
        exportOptions.VectorRasterizationOptions.TextRenderingHint = Aspose.Imaging.TextRenderingHint.SingleBitPerPixel;
        exportOptions.VectorRasterizationOptions.SmoothingMode = Aspose.Imaging.SmoothingMode.None;
    }

    image.Save(outputFilePath, exportOptions);
}

Ver también