WebPOptions

WebPOptions class

Webp 图像选项

public class WebPOptions : ImageOptionsBase

构造函数

姓名描述
WebPOptions()默认构造函数。

特性

姓名描述
AnimBackgroundColor { get; set; }获取或设置动画背景的颜色。
AnimLoopCount { get; set; }获取或设置动画循环计数。
BufferSizeHint { get; set; }获取或设置缓冲区大小提示,该提示定义了所有内部缓冲区的最大允许大小。
Disposed { get; }获取一个值,该值指示此实例是否被释放。
FullFrame { get; set; }获取或设置一个值,指示是否[全帧].
Lossless { get; set; }获取或设置一个值,该值指示是否WebPOptions是无损的。
MultiPageOptions { get; set; }多页选项
virtual Palette { get; set; }获取或设置调色板。
ProgressEventHandler { get; set; }获取或设置进度事件处理程序。
Quality { get; set; }获取或设置质量。
virtual ResolutionSettings { get; set; }获取或设置分辨率设置。
Source { get; set; }获取或设置要在其中创建图像的源。
VectorRasterizationOptions { get; set; }获取或设置矢量光栅化选项。
virtual XmpData { get; set; }获取或设置 XMP 元数据容器。

方法

姓名描述
virtual Clone()克隆此实例。
Dispose()处理当前实例。

例子

此示例说明如何从另一个具有不同压缩质量的光栅图像创建 WebP 图像。

[C#]

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

// 加载一个 GIF 动画
using (Aspose.Imaging.Image image = new Aspose.Imaging.Image.Load(dir + "test.gif"))
{
    // 对于无损压缩,增加质量设置会提高压缩质量并减小文件大小
    image.Save(
        dir + "output_lossless_20.webp",
        new  Aspose.Imaging.ImageOptions.WebPOptions() { Lossless = true, Quality = 20 }); // 文件大小:42 KB

    image.Save(
        dir + "output_lossless_50.webp",
        new  Aspose.Imaging.ImageOptions.WebPOptions() { Lossless = true, Quality = 50 }); // 文件大小:41 KB

    image.Save(
        dir + "output_lossless_80.webp",
        new  Aspose.Imaging.ImageOptions.WebPOptions() { Lossless = true, Quality = 80 }); // 文件大小:40 KB


    // 对于有损压缩,增加 Quality 值会提高图像质量并增加文件大小
    image.Save(
        dir + "output_lossy_20.webp",
        new  Aspose.Imaging.ImageOptions.WebPOptions() { Lossless = false, Quality = 20 }); // 文件大小:24 KB

    image.Save(
        dir + "output_lossy_50.webp",
        new  Aspose.Imaging.ImageOptions.WebPOptions() { Lossless = false, Quality = 50 }); // 文件大小:36 KB

    image.Save(
        dir + "output_lossy_80.webp",
        new  Aspose.Imaging.ImageOptions.WebPOptions() { Lossless = false, Quality = 80 }); // 文件大小:51 KB
}

以下示例显示了如何在不引用特定图像类型的情况下以一般方式将多页矢量图像转换为 WEBP 格式。

[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;

    // 只导出前两页。这些页面将在输出 WEBP 中显示为动画帧。
    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);
}

也可以看看