类 JpegOptions

JpegOptions class

使用我们的 API 轻松创建高质量的 JPEG 图像,提供可调节的压缩级别,以在不影响图像质量的前提下优化存储大小。受益于对多种压缩类型、近无损编码、RGB 与 CMYK 色彩配置文件,以及 EXIF、JFIF 图像数据和 XMP 容器的支持,确保在图像创建需求中具备多样化和可定制的选项。

public class JpegOptions : ImageOptionsBase, IHasJpegExifData

构造函数

名称描述
JpegOptions()初始化 JpegOptions 类的新实例。
JpegOptions(JpegOptions)初始化 JpegOptions 类的新实例。

属性

名称描述
BitsPerChannel { get; set; }获取或设置无损 JPEG 图像的每通道位数。现在支持 2 到 8 位每通道。
BufferSizeHint { get; set; }获取或设置缓冲区大小提示,该提示定义了所有内部缓冲区的最大允许大小。
CmykColorProfile { get; set; }CMYK JPEG 图像的目标 CMYK 色彩配置文件。用于保存图像。必须与 RGBColorProfile 配对以实现正确的颜色转换。
ColorType { get; set; }获取或设置 JPEG 图像的颜色类型。
Comment { get; set; }获取或设置 JPEG 文件注释。
CompressionType { get; set; }获取或设置压缩类型。
Disposed { get; }获取一个值,指示此实例是否已释放。
ExifData { get; set; }获取或设置 Exif 数据容器。
virtual ExifData { get; set; }获取或设置 Exif 数据。
FullFrame { get; set; }获取或设置指示是否为 [full frame] 的值。
HorizontalSampling { get; set; }获取或设置每个分量的水平子采样。
Jfif { get; set; }获取或设置 jfif。
JpegLsAllowedLossyError { get; set; }获取或设置 JPEG-LS 近无损编码的差值界限(JPEG-LS 规范中的 NEAR 参数)。
JpegLsInterleaveMode { get; set; }获取或设置 JPEG-LS 交错模式。
JpegLsPreset { get; set; }获取或设置 JPEG-LS 预设参数。
KeepMetadata { get; set; }获取在导出时是否保留原始图像元数据的值。
MultiPageOptions { get; set; }多页选项
virtual Palette { get; set; }获取或设置颜色调色板。
PreblendAlphaIfPresent { get; set; }获取或设置一个值,指示在存在 alpha 通道时是否应将红、绿、蓝分量与背景颜色混合。
ProgressEventHandler { get; set; }获取或设置进度事件处理程序。
Quality { get; set; }获取或设置图像质量。
RdOptSettings { get; set; }获取或设置 RD 优化器设置。
virtual ResolutionSettings { get; set; }获取或设置分辨率设置。
ResolutionUnit { get; set; }获取或设置分辨率单位。
RgbColorProfile { get; set; }CMYK jpeg 图像的目标 RGB 色彩配置文件。用于保存图像。必须与 CMYKColorProfile 配对,以实现正确的颜色转换。
SampleRoundingMode { get; set; }获取或设置样本四舍五入模式,以将 8 位值适配为 n 位值。BitsPerChannel
ScaledQuality { get; }缩放后的质量。
Source { get; set; }获取或设置创建图像的来源。
VectorRasterizationOptions { get; set; }获取或设置矢量光栅化选项。
VerticalSampling { get; set; }获取或设置每个组件的垂直子采样。
virtual XmpData { get; set; }获取或设置 XMP 元数据容器。

方法

名称描述
virtual Clone()创建此实例的成员逐一克隆。
Dispose()释放当前实例。
TrySetMetadata(IImageMetadataFormat)尝试设置一个 metadata 实例,如果此 Image 实例支持并实现了 IImageMetadataFormat 实例。

示例

此示例演示了使用 System.IO.Stream 创建新图像文件(JPEG 类型)。

[C#]

//创建 JpegOptions 的实例并设置其各种属性。
Aspose.Imaging.ImageOptions.JpegOptions jpegOptions = new Aspose.Imaging.ImageOptions.JpegOptions();

//创建 System.IO.Stream 的实例。
System.IO.Stream stream = new System.IO.FileStream(@"C:\temp\sample.jpeg", System.IO.FileMode.Create);

//为 JpegOptions 实例定义 source 属性。
//第二个布尔参数决定在超出作用域后是否释放 Stream。
jpegOptions.Source = new Aspose.Imaging.Sources.StreamSource(stream, true);

//创建 Image 的实例,并使用 JpegOptions 作为参数调用 Create 方法来初始化 Image 对象。
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Create(jpegOptions, 500, 500))
{
    //进行一些图像处理
}

此示例演示了如何使用 SaveOptions 命名空间中的不同类进行导出。将 Gif 类型的图像加载到 Image 实例中,然后导出为多种格式。

[C#]

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

//在 Image 类的实例中加载现有的 Gif 类型图像。
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
    //使用默认选项导出为 BMP 文件格式。
    image.Save(dir + "output.bmp", new Aspose.Imaging.ImageOptions.BmpOptions());

    //使用默认选项导出为 JPEG 文件格式。
    image.Save(dir + "output.jpg", new Aspose.Imaging.ImageOptions.JpegOptions());

    //使用默认选项导出为 PNG 文件格式。
    image.Save(dir + "output.png", new Aspose.Imaging.ImageOptions.PngOptions());

    //使用默认选项导出为 TIFF 文件格式。
    image.Save(dir + "output.tif", new Aspose.Imaging.ImageOptions.TiffOptions(Aspose.Imaging.FileFormats.Tiff.Enums.TiffExpectedFormat.Default));
}

以下示例展示了如何以通用方式将多页矢量图像转换为 JPEG 格式,而不针对特定图像类型。

[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.jpeg");

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

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

    // 仅导出前两页。实际上,只会光栅化一页,因为 JPEG 不是多页格式。
    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);
}

另请参见