Class JpegOptions
名称: Aspose.Imaging.ImageOptions 收藏: Aspose.Imaging.dll (25.4.0)
使用我们的 API 轻松创建高品质的 JPEG 图像,提供可调整的图像压缩水平以优化存储尺寸而不损害图像质量。支持各种压缩类型的好处,靠近无损编码,RGB 和 CMYK 颜色配置,以及 EXIF、JFIF 图像数据和 XMP容器,为您的图像创建需求提供多元化和可自定义的选项。
[JsonObject(MemberSerialization.OptIn)]
public class JpegOptions : ImageOptionsBase, IDisposable, ICloneable, IHasXmpData, IHasJpegExifData, IHasExifData, IHasMetadata
Inheritance
object ← DisposableObject ← ImageOptionsBase ← JpegOptions
Implements
IDisposable , ICloneable , IHasXmpData , IHasJpegExifData , IHasExifData , IHasMetadata
继承人
ImageOptionsBase.Clone() , ImageOptionsBase.ReleaseManagedResources() , ImageOptionsBase.KeepMetadata , ImageOptionsBase.XmpData , ImageOptionsBase.Source , ImageOptionsBase.Palette , ImageOptionsBase.ResolutionSettings , ImageOptionsBase.VectorRasterizationOptions , ImageOptionsBase.BufferSizeHint , ImageOptionsBase.MultiPageOptions , ImageOptionsBase.FullFrame , ImageOptionsBase.ProgressEventHandler , DisposableObject.Dispose() , DisposableObject.ReleaseManagedResources() , DisposableObject.ReleaseUnmanagedResources() , DisposableObject.VerifyNotDisposed() , DisposableObject.Disposed , object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Examples
此示例表明使用 System.IO.Stream 创建一个新的图像文件(JPEG 类型)
//Creates an instance of JpegOptions and set its various properties
Aspose.Imaging.ImageOptions.JpegOptions jpegOptions = new Aspose.Imaging.ImageOptions.JpegOptions();
//Create an instance of System.IO.Stream
System.IO.Stream stream = new System.IO.FileStream(@"C:\temp\sample.jpeg", System.IO.FileMode.Create);
//Define the source property for the instance of JpegOptions
//Second boolean parameter determins if the Stream is disposed once get out of scope
jpegOptions.Source = new Aspose.Imaging.Sources.StreamSource(stream, true);
//Creates an instance of Image and call Create method with JpegOptions as parameter to initialize the Image object
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Create(jpegOptions, 500, 500))
{
//do some image processing
}
此示例显示了来自 SaveOptions Namespace 的不同类别用于出口目的。 图像类型 Gif 被加载到一个图像例子,然后出口到多个格式。
string dir = "c:\\temp\\";
//Load an existing image (of type Gif) in an instance of Image class
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
//Export to BMP file format using the default options
image.Save(dir + "output.bmp", new Aspose.Imaging.ImageOptions.BmpOptions());
//Export to JPEG file format using the default options
image.Save(dir + "output.jpg", new Aspose.Imaging.ImageOptions.JpegOptions());
//Export to PNG file format using the default options
image.Save(dir + "output.png", new Aspose.Imaging.ImageOptions.PngOptions());
//Export to TIFF file format using the default options
image.Save(dir + "output.tif", new Aspose.Imaging.ImageOptions.TiffOptions(Aspose.Imaging.FileFormats.Tiff.Enums.TiffExpectedFormat.Default));
}
下面的例子表明如何将多页 vector 图像转换为 JPEG 格式,而不提到特定图像类型。
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;
// Export only first two pages. In fact, only one page will be rasterized because JPEG is not a multi-page format.
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);
}
Constructors
JpegOptions()
启动 Aspose.Imaging.ImageOptions.JpegOptions 类的新例子。
[JsonConstructor]
public JpegOptions()
Examples
下面的示例上传 BMP 图像并将其存储到 JPEG 使用各种存储选项。
string dir = "c:\\temp\\";
// Load a BMP image from a file.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.bmp"))
{
// Do some image processing.
// Use additional options to specify the desired image parameters.
Aspose.Imaging.ImageOptions.JpegOptions saveOptions = new Aspose.Imaging.ImageOptions.JpegOptions();
// The number of bits per channel is 8.
// When a palette is used, the color index is stored in the image data instead of the color itself.
saveOptions.BitsPerChannel = 8;
// Set the progressive type of compression.
saveOptions.CompressionType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionMode.Progressive;
// Set the image quality. It is a value between 1 and 100.
saveOptions.Quality = 100;
// Set the horizontal/vertical resolution to 96 dots per inch.
saveOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);
saveOptions.ResolutionUnit = Aspose.Imaging.ResolutionUnit.Inch;
// If the source image is colored, it will be converted to grayscaled.
saveOptions.ColorType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionColorMode.Grayscale;
// Use a palette to reduce the output size.
saveOptions.Palette = Aspose.Imaging.ColorPaletteHelper.Create8BitGrayscale(false);
image.Save(dir + "sample.palettized.jpg", saveOptions);
}
下面的示例显示如何使用指定的参数创建指定的尺寸的JPEG图像。
string dir = "c:\\temp\\";
// Create a JPEG image of 100x100 px.
// Use additional options to specify the desired image parameters.
Aspose.Imaging.ImageOptions.JpegOptions createOptions = new Aspose.Imaging.ImageOptions.JpegOptions();
// The number of bits per channel is 8, 8, 8 for Y, Cr, Cb components accordingly.
createOptions.BitsPerChannel = 8;
// Set the progressive type of compression.
createOptions.CompressionType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionMode.Progressive;
// Set the image quality. It is a value between 1 and 100.
createOptions.Quality = 100;
// Set the horizontal/vertical resolution to 96 dots per inch.
createOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);
createOptions.ResolutionUnit = Aspose.Imaging.ResolutionUnit.Inch;
// This is a standard option for JPEG images.
// Two chroma components (Cb and Cr) can be bandwidth-reduced, subsampled, compressed.
createOptions.ColorType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionColorMode.YCbCr;
using (Aspose.Imaging.FileFormats.Jpeg.JpegImage jpegImage = new Aspose.Imaging.FileFormats.Jpeg.JpegImage(createOptions, 100, 100))
{
Aspose.Imaging.Graphics graphics = new Aspose.Imaging.Graphics(jpegImage);
Aspose.Imaging.Brushes.LinearGradientBrush gradientBrush = new Aspose.Imaging.Brushes.LinearGradientBrush(
new Aspose.Imaging.Point(0, 0),
new Aspose.Imaging.Point(jpegImage.Width, jpegImage.Height),
Aspose.Imaging.Color.Yellow,
Aspose.Imaging.Color.Blue);
// Fill the image with a grayscale gradient
graphics.FillRectangle(gradientBrush, jpegImage.Bounds);
// Save to a file.
jpegImage.Save(dir + "output.explicitoptions.jpg");
}
JpegOptions(JpegOptions)
启动 Aspose.Imaging.ImageOptions.JpegOptions 类的新例子。
public JpegOptions(JpegOptions jpegOptions)
Parameters
jpegOptions
JpegOptions
JPEG选项。
Properties
BitsPerChannel
接收或设置每频道的比特,以便无损的jpeg图像,现在我们支持每频道的2到8比特。
public byte BitsPerChannel { get; set; }
财产价值
Examples
下面的示例上传 BMP 图像并将其存储到 JPEG 使用各种存储选项。
string dir = "c:\\temp\\";
// Load a BMP image from a file.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.bmp"))
{
// Do some image processing.
// Use additional options to specify the desired image parameters.
Aspose.Imaging.ImageOptions.JpegOptions saveOptions = new Aspose.Imaging.ImageOptions.JpegOptions();
// The number of bits per channel is 8.
// When a palette is used, the color index is stored in the image data instead of the color itself.
saveOptions.BitsPerChannel = 8;
// Set the progressive type of compression.
saveOptions.CompressionType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionMode.Progressive;
// Set the image quality. It is a value between 1 and 100.
saveOptions.Quality = 100;
// Set the horizontal/vertical resolution to 96 dots per inch.
saveOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);
saveOptions.ResolutionUnit = Aspose.Imaging.ResolutionUnit.Inch;
// If the source image is colored, it will be converted to grayscaled.
saveOptions.ColorType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionColorMode.Grayscale;
// Use a palette to reduce the output size.
saveOptions.Palette = Aspose.Imaging.ColorPaletteHelper.Create8BitGrayscale(false);
image.Save(dir + "sample.palettized.jpg", saveOptions);
}
下面的示例显示如何使用指定的参数创建指定的尺寸的JPEG图像。
string dir = "c:\\temp\\";
// Create a JPEG image of 100x100 px.
// Use additional options to specify the desired image parameters.
Aspose.Imaging.ImageOptions.JpegOptions createOptions = new Aspose.Imaging.ImageOptions.JpegOptions();
// The number of bits per channel is 8, 8, 8 for Y, Cr, Cb components accordingly.
createOptions.BitsPerChannel = 8;
// Set the progressive type of compression.
createOptions.CompressionType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionMode.Progressive;
// Set the image quality. It is a value between 1 and 100.
createOptions.Quality = 100;
// Set the horizontal/vertical resolution to 96 dots per inch.
createOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);
createOptions.ResolutionUnit = Aspose.Imaging.ResolutionUnit.Inch;
// This is a standard option for JPEG images.
// Two chroma components (Cb and Cr) can be bandwidth-reduced, subsampled, compressed.
createOptions.ColorType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionColorMode.YCbCr;
using (Aspose.Imaging.FileFormats.Jpeg.JpegImage jpegImage = new Aspose.Imaging.FileFormats.Jpeg.JpegImage(createOptions, 100, 100))
{
Aspose.Imaging.Graphics graphics = new Aspose.Imaging.Graphics(jpegImage);
Aspose.Imaging.Brushes.LinearGradientBrush gradientBrush = new Aspose.Imaging.Brushes.LinearGradientBrush(
new Aspose.Imaging.Point(0, 0),
new Aspose.Imaging.Point(jpegImage.Width, jpegImage.Height),
Aspose.Imaging.Color.Yellow,
Aspose.Imaging.Color.Blue);
// Fill the image with a grayscale gradient
graphics.FillRectangle(gradientBrush, jpegImage.Bounds);
// Save to a file.
jpegImage.Save(dir + "output.explicitoptions.jpg");
}
CmykColorProfile
CMYK jpeg 图像的目的地 CMYK 颜色配置文件. 用于保存图像. 必须与 RGBColorProfile 相匹配,以便正确的颜色转换。
public StreamSource CmykColorProfile { get; set; }
财产价值
Examples
下面的例子将 PNG 加载并将其存储到 CMYK JPEG 使用自定义 ICC 个人资料,然后将 CMYK JPEG 加载并将其存储回 PNG. 从 RGB 到 CMYK 和 从 CMYK 到 RGB 的颜色转换通过自定义 ICC 个人资料进行。
string dir = "c:\\temp\\";
// Load PNG and save it to CMYK JPEG
using (Aspose.Imaging.FileFormats.Png.PngImage image = (Aspose.Imaging.FileFormats.Png.PngImage)Image.Load(dir + "sample.png"))
{
using (System.IO.Stream rgbProfileStream = System.IO.File.OpenRead(dir + "eciRGB_v2.icc"))
using (System.IO.Stream cmykProfileStream = System.IO.File.OpenRead(dir + "ISOcoated_v2_FullGamut4.icc"))
{
Aspose.Imaging.ImageOptions.JpegOptions saveOptions = new Aspose.Imaging.ImageOptions.JpegOptions();
saveOptions.ColorType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionColorMode.Cmyk;
// Use custom ICC profiles
saveOptions.RgbColorProfile = new Aspose.Imaging.Sources.StreamSource(rgbProfileStream);
saveOptions.CmykColorProfile = new Aspose.Imaging.Sources.StreamSource(cmykProfileStream);
image.Save(dir + "output.cmyk.jpg", saveOptions);
}
}
// Load CMYK JPEG and save it to PNG
using (Aspose.Imaging.FileFormats.Jpeg.JpegImage image = (Aspose.Imaging.FileFormats.Jpeg.JpegImage)Image.Load(dir + "output.cmyk.jpg"))
{
using (System.IO.Stream rgbProfileStream = System.IO.File.OpenRead(dir + "eciRGB_v2.icc"))
using (System.IO.Stream cmykProfileStream = System.IO.File.OpenRead(dir + "ISOcoated_v2_FullGamut4.icc"))
{
// Use custom ICC profiles
image.RgbColorProfile = new Aspose.Imaging.Sources.StreamSource(rgbProfileStream);
image.CmykColorProfile = new Aspose.Imaging.Sources.StreamSource(cmykProfileStream);
Aspose.Imaging.ImageOptions.PngOptions saveOptions = new Aspose.Imaging.ImageOptions.PngOptions();
image.Save(dir + "output.rgb.png", saveOptions);
}
}
ColorType
获取或设置 jpeg 图像的颜色类型。
public JpegCompressionColorMode ColorType { get; set; }
财产价值
Examples
下面的示例上传 BMP 图像并将其存储到 JPEG 使用各种存储选项。
string dir = "c:\\temp\\";
// Load a BMP image from a file.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.bmp"))
{
// Do some image processing.
// Use additional options to specify the desired image parameters.
Aspose.Imaging.ImageOptions.JpegOptions saveOptions = new Aspose.Imaging.ImageOptions.JpegOptions();
// The number of bits per channel is 8.
// When a palette is used, the color index is stored in the image data instead of the color itself.
saveOptions.BitsPerChannel = 8;
// Set the progressive type of compression.
saveOptions.CompressionType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionMode.Progressive;
// Set the image quality. It is a value between 1 and 100.
saveOptions.Quality = 100;
// Set the horizontal/vertical resolution to 96 dots per inch.
saveOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);
saveOptions.ResolutionUnit = Aspose.Imaging.ResolutionUnit.Inch;
// If the source image is colored, it will be converted to grayscaled.
saveOptions.ColorType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionColorMode.Grayscale;
// Use a palette to reduce the output size.
saveOptions.Palette = Aspose.Imaging.ColorPaletteHelper.Create8BitGrayscale(false);
image.Save(dir + "sample.palettized.jpg", saveOptions);
}
下面的例子将 PNG 加载并将其存储到 CMYK JPEG 使用自定义 ICC 个人资料,然后将 CMYK JPEG 加载并将其存储回 PNG. 从 RGB 到 CMYK 和 从 CMYK 到 RGB 的颜色转换通过自定义 ICC 个人资料进行。
string dir = "c:\\temp\\";
// Load PNG and save it to CMYK JPEG
using (Aspose.Imaging.FileFormats.Png.PngImage image = (Aspose.Imaging.FileFormats.Png.PngImage)Image.Load(dir + "sample.png"))
{
using (System.IO.Stream rgbProfileStream = System.IO.File.OpenRead(dir + "eciRGB_v2.icc"))
using (System.IO.Stream cmykProfileStream = System.IO.File.OpenRead(dir + "ISOcoated_v2_FullGamut4.icc"))
{
Aspose.Imaging.ImageOptions.JpegOptions saveOptions = new Aspose.Imaging.ImageOptions.JpegOptions();
saveOptions.ColorType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionColorMode.Cmyk;
// Use custom ICC profiles
saveOptions.RgbColorProfile = new Aspose.Imaging.Sources.StreamSource(rgbProfileStream);
saveOptions.CmykColorProfile = new Aspose.Imaging.Sources.StreamSource(cmykProfileStream);
image.Save(dir + "output.cmyk.jpg", saveOptions);
}
}
// Load CMYK JPEG and save it to PNG
using (Aspose.Imaging.FileFormats.Jpeg.JpegImage image = (Aspose.Imaging.FileFormats.Jpeg.JpegImage)Image.Load(dir + "output.cmyk.jpg"))
{
using (System.IO.Stream rgbProfileStream = System.IO.File.OpenRead(dir + "eciRGB_v2.icc"))
using (System.IO.Stream cmykProfileStream = System.IO.File.OpenRead(dir + "ISOcoated_v2_FullGamut4.icc"))
{
// Use custom ICC profiles
image.RgbColorProfile = new Aspose.Imaging.Sources.StreamSource(rgbProfileStream);
image.CmykColorProfile = new Aspose.Imaging.Sources.StreamSource(cmykProfileStream);
Aspose.Imaging.ImageOptions.PngOptions saveOptions = new Aspose.Imaging.ImageOptions.PngOptions();
image.Save(dir + "output.rgb.png", saveOptions);
}
}
下面的示例显示如何使用指定的参数创建指定的尺寸的JPEG图像。
string dir = "c:\\temp\\";
// Create a JPEG image of 100x100 px.
// Use additional options to specify the desired image parameters.
Aspose.Imaging.ImageOptions.JpegOptions createOptions = new Aspose.Imaging.ImageOptions.JpegOptions();
// The number of bits per channel is 8, 8, 8 for Y, Cr, Cb components accordingly.
createOptions.BitsPerChannel = 8;
// Set the progressive type of compression.
createOptions.CompressionType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionMode.Progressive;
// Set the image quality. It is a value between 1 and 100.
createOptions.Quality = 100;
// Set the horizontal/vertical resolution to 96 dots per inch.
createOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);
createOptions.ResolutionUnit = Aspose.Imaging.ResolutionUnit.Inch;
// This is a standard option for JPEG images.
// Two chroma components (Cb and Cr) can be bandwidth-reduced, subsampled, compressed.
createOptions.ColorType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionColorMode.YCbCr;
using (Aspose.Imaging.FileFormats.Jpeg.JpegImage jpegImage = new Aspose.Imaging.FileFormats.Jpeg.JpegImage(createOptions, 100, 100))
{
Aspose.Imaging.Graphics graphics = new Aspose.Imaging.Graphics(jpegImage);
Aspose.Imaging.Brushes.LinearGradientBrush gradientBrush = new Aspose.Imaging.Brushes.LinearGradientBrush(
new Aspose.Imaging.Point(0, 0),
new Aspose.Imaging.Point(jpegImage.Width, jpegImage.Height),
Aspose.Imaging.Color.Yellow,
Aspose.Imaging.Color.Blue);
// Fill the image with a grayscale gradient
graphics.FillRectangle(gradientBrush, jpegImage.Bounds);
// Save to a file.
jpegImage.Save(dir + "output.explicitoptions.jpg");
}
Comment
收到或设置 jpeg 文件评论。
public string Comment { get; set; }
财产价值
CompressionType
接收或设置压缩类型。
public JpegCompressionMode CompressionType { get; set; }
财产价值
Examples
下面的示例上传 BMP 图像并将其存储到 JPEG 使用各种存储选项。
string dir = "c:\\temp\\";
// Load a BMP image from a file.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.bmp"))
{
// Do some image processing.
// Use additional options to specify the desired image parameters.
Aspose.Imaging.ImageOptions.JpegOptions saveOptions = new Aspose.Imaging.ImageOptions.JpegOptions();
// The number of bits per channel is 8.
// When a palette is used, the color index is stored in the image data instead of the color itself.
saveOptions.BitsPerChannel = 8;
// Set the progressive type of compression.
saveOptions.CompressionType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionMode.Progressive;
// Set the image quality. It is a value between 1 and 100.
saveOptions.Quality = 100;
// Set the horizontal/vertical resolution to 96 dots per inch.
saveOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);
saveOptions.ResolutionUnit = Aspose.Imaging.ResolutionUnit.Inch;
// If the source image is colored, it will be converted to grayscaled.
saveOptions.ColorType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionColorMode.Grayscale;
// Use a palette to reduce the output size.
saveOptions.Palette = Aspose.Imaging.ColorPaletteHelper.Create8BitGrayscale(false);
image.Save(dir + "sample.palettized.jpg", saveOptions);
}
下面的示例显示如何使用指定的参数创建指定的尺寸的JPEG图像。
string dir = "c:\\temp\\";
// Create a JPEG image of 100x100 px.
// Use additional options to specify the desired image parameters.
Aspose.Imaging.ImageOptions.JpegOptions createOptions = new Aspose.Imaging.ImageOptions.JpegOptions();
// The number of bits per channel is 8, 8, 8 for Y, Cr, Cb components accordingly.
createOptions.BitsPerChannel = 8;
// Set the progressive type of compression.
createOptions.CompressionType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionMode.Progressive;
// Set the image quality. It is a value between 1 and 100.
createOptions.Quality = 100;
// Set the horizontal/vertical resolution to 96 dots per inch.
createOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);
createOptions.ResolutionUnit = Aspose.Imaging.ResolutionUnit.Inch;
// This is a standard option for JPEG images.
// Two chroma components (Cb and Cr) can be bandwidth-reduced, subsampled, compressed.
createOptions.ColorType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionColorMode.YCbCr;
using (Aspose.Imaging.FileFormats.Jpeg.JpegImage jpegImage = new Aspose.Imaging.FileFormats.Jpeg.JpegImage(createOptions, 100, 100))
{
Aspose.Imaging.Graphics graphics = new Aspose.Imaging.Graphics(jpegImage);
Aspose.Imaging.Brushes.LinearGradientBrush gradientBrush = new Aspose.Imaging.Brushes.LinearGradientBrush(
new Aspose.Imaging.Point(0, 0),
new Aspose.Imaging.Point(jpegImage.Width, jpegImage.Height),
Aspose.Imaging.Color.Yellow,
Aspose.Imaging.Color.Blue);
// Fill the image with a grayscale gradient
graphics.FillRectangle(gradientBrush, jpegImage.Bounds);
// Save to a file.
jpegImage.Save(dir + "output.explicitoptions.jpg");
}
DefaultMemoryAllocationLimit
接收或设置默认内存分配限制。
[Obsolete("Use Aspose.Imaging.Image.BufferSizeHint, Aspose.Imaging.ImageOptionsBase.BufferSizeHint or Aspose.Imaging.LoadOptions.BufferSizeHint instead.")]
public int DefaultMemoryAllocationLimit { get; set; }
财产价值
ExifData
获取或设置 Exif 数据容器。
[JsonProperty]
public JpegExifData ExifData { get; set; }
财产价值
HorizontalSampling
接收或设置每个组件的水平子组合。
public byte[] HorizontalSampling { get; set; }
财产价值
byte ( )
Jfif
接收或设置 jfif。
public JFIFData Jfif { get; set; }
财产价值
JpegLsAllowedLossyError
接收或设置 JPEG-LS 差异为无损编码(NEAR 参数来自 JPEG-LS 规格)。
public int JpegLsAllowedLossyError { get; set; }
财产价值
JpegLsInterleaveMode
接收或设置 JPEG-LS 间接模式。
public JpegLsInterleaveMode JpegLsInterleaveMode { get; set; }
财产价值
JpegLsPreset
接收或设置 JPEG-LS 预定参数。
public JpegLsPresetCodingParameters JpegLsPreset { get; set; }
财产价值
PreblendAlphaIfPresent
收到或设置一个值,表明是否红色、绿色和蓝色组件应该与背景颜色混合,如果阿尔法频道存在。
public bool PreblendAlphaIfPresent { get; set; }
财产价值
Quality
获取或设置图像质量。
public int Quality { get; set; }
财产价值
Examples
下面的示例上传 BMP 图像并将其存储到 JPEG 使用各种存储选项。
string dir = "c:\\temp\\";
// Load a BMP image from a file.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.bmp"))
{
// Do some image processing.
// Use additional options to specify the desired image parameters.
Aspose.Imaging.ImageOptions.JpegOptions saveOptions = new Aspose.Imaging.ImageOptions.JpegOptions();
// The number of bits per channel is 8.
// When a palette is used, the color index is stored in the image data instead of the color itself.
saveOptions.BitsPerChannel = 8;
// Set the progressive type of compression.
saveOptions.CompressionType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionMode.Progressive;
// Set the image quality. It is a value between 1 and 100.
saveOptions.Quality = 100;
// Set the horizontal/vertical resolution to 96 dots per inch.
saveOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);
saveOptions.ResolutionUnit = Aspose.Imaging.ResolutionUnit.Inch;
// If the source image is colored, it will be converted to grayscaled.
saveOptions.ColorType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionColorMode.Grayscale;
// Use a palette to reduce the output size.
saveOptions.Palette = Aspose.Imaging.ColorPaletteHelper.Create8BitGrayscale(false);
image.Save(dir + "sample.palettized.jpg", saveOptions);
}
下面的示例显示如何使用指定的参数创建指定的尺寸的JPEG图像。
string dir = "c:\\temp\\";
// Create a JPEG image of 100x100 px.
// Use additional options to specify the desired image parameters.
Aspose.Imaging.ImageOptions.JpegOptions createOptions = new Aspose.Imaging.ImageOptions.JpegOptions();
// The number of bits per channel is 8, 8, 8 for Y, Cr, Cb components accordingly.
createOptions.BitsPerChannel = 8;
// Set the progressive type of compression.
createOptions.CompressionType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionMode.Progressive;
// Set the image quality. It is a value between 1 and 100.
createOptions.Quality = 100;
// Set the horizontal/vertical resolution to 96 dots per inch.
createOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);
createOptions.ResolutionUnit = Aspose.Imaging.ResolutionUnit.Inch;
// This is a standard option for JPEG images.
// Two chroma components (Cb and Cr) can be bandwidth-reduced, subsampled, compressed.
createOptions.ColorType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionColorMode.YCbCr;
using (Aspose.Imaging.FileFormats.Jpeg.JpegImage jpegImage = new Aspose.Imaging.FileFormats.Jpeg.JpegImage(createOptions, 100, 100))
{
Aspose.Imaging.Graphics graphics = new Aspose.Imaging.Graphics(jpegImage);
Aspose.Imaging.Brushes.LinearGradientBrush gradientBrush = new Aspose.Imaging.Brushes.LinearGradientBrush(
new Aspose.Imaging.Point(0, 0),
new Aspose.Imaging.Point(jpegImage.Width, jpegImage.Height),
Aspose.Imaging.Color.Yellow,
Aspose.Imaging.Color.Blue);
// Fill the image with a grayscale gradient
graphics.FillRectangle(gradientBrush, jpegImage.Bounds);
// Save to a file.
jpegImage.Save(dir + "output.explicitoptions.jpg");
}
RdOptSettings
接收或设置 RD 优化器设置。
[JsonProperty]
public RdOptimizerSettings RdOptSettings { get; set; }
财产价值
ResolutionUnit
接收或设置分辨率单位。
public ResolutionUnit ResolutionUnit { get; set; }
财产价值
Examples
下面的示例上传 BMP 图像并将其存储到 JPEG 使用各种存储选项。
string dir = "c:\\temp\\";
// Load a BMP image from a file.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.bmp"))
{
// Do some image processing.
// Use additional options to specify the desired image parameters.
Aspose.Imaging.ImageOptions.JpegOptions saveOptions = new Aspose.Imaging.ImageOptions.JpegOptions();
// The number of bits per channel is 8.
// When a palette is used, the color index is stored in the image data instead of the color itself.
saveOptions.BitsPerChannel = 8;
// Set the progressive type of compression.
saveOptions.CompressionType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionMode.Progressive;
// Set the image quality. It is a value between 1 and 100.
saveOptions.Quality = 100;
// Set the horizontal/vertical resolution to 96 dots per inch.
saveOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);
saveOptions.ResolutionUnit = Aspose.Imaging.ResolutionUnit.Inch;
// If the source image is colored, it will be converted to grayscaled.
saveOptions.ColorType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionColorMode.Grayscale;
// Use a palette to reduce the output size.
saveOptions.Palette = Aspose.Imaging.ColorPaletteHelper.Create8BitGrayscale(false);
image.Save(dir + "sample.palettized.jpg", saveOptions);
}
下面的示例显示如何使用指定的参数创建指定的尺寸的JPEG图像。
string dir = "c:\\temp\\";
// Create a JPEG image of 100x100 px.
// Use additional options to specify the desired image parameters.
Aspose.Imaging.ImageOptions.JpegOptions createOptions = new Aspose.Imaging.ImageOptions.JpegOptions();
// The number of bits per channel is 8, 8, 8 for Y, Cr, Cb components accordingly.
createOptions.BitsPerChannel = 8;
// Set the progressive type of compression.
createOptions.CompressionType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionMode.Progressive;
// Set the image quality. It is a value between 1 and 100.
createOptions.Quality = 100;
// Set the horizontal/vertical resolution to 96 dots per inch.
createOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);
createOptions.ResolutionUnit = Aspose.Imaging.ResolutionUnit.Inch;
// This is a standard option for JPEG images.
// Two chroma components (Cb and Cr) can be bandwidth-reduced, subsampled, compressed.
createOptions.ColorType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionColorMode.YCbCr;
using (Aspose.Imaging.FileFormats.Jpeg.JpegImage jpegImage = new Aspose.Imaging.FileFormats.Jpeg.JpegImage(createOptions, 100, 100))
{
Aspose.Imaging.Graphics graphics = new Aspose.Imaging.Graphics(jpegImage);
Aspose.Imaging.Brushes.LinearGradientBrush gradientBrush = new Aspose.Imaging.Brushes.LinearGradientBrush(
new Aspose.Imaging.Point(0, 0),
new Aspose.Imaging.Point(jpegImage.Width, jpegImage.Height),
Aspose.Imaging.Color.Yellow,
Aspose.Imaging.Color.Blue);
// Fill the image with a grayscale gradient
graphics.FillRectangle(gradientBrush, jpegImage.Bounds);
// Save to a file.
jpegImage.Save(dir + "output.explicitoptions.jpg");
}
RgbColorProfile
目的地 RGB 颜色配置为 CMYK jpeg 图像. 用于保存图像. 必须与 CMYKColorProfile 相匹配,以便正确的颜色转换。
public StreamSource RgbColorProfile { get; set; }
财产价值
Examples
下面的例子将 PNG 加载并将其存储到 CMYK JPEG 使用自定义 ICC 个人资料,然后将 CMYK JPEG 加载并将其存储回 PNG. 从 RGB 到 CMYK 和 从 CMYK 到 RGB 的颜色转换通过自定义 ICC 个人资料进行。
string dir = "c:\\temp\\";
// Load PNG and save it to CMYK JPEG
using (Aspose.Imaging.FileFormats.Png.PngImage image = (Aspose.Imaging.FileFormats.Png.PngImage)Image.Load(dir + "sample.png"))
{
using (System.IO.Stream rgbProfileStream = System.IO.File.OpenRead(dir + "eciRGB_v2.icc"))
using (System.IO.Stream cmykProfileStream = System.IO.File.OpenRead(dir + "ISOcoated_v2_FullGamut4.icc"))
{
Aspose.Imaging.ImageOptions.JpegOptions saveOptions = new Aspose.Imaging.ImageOptions.JpegOptions();
saveOptions.ColorType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionColorMode.Cmyk;
// Use custom ICC profiles
saveOptions.RgbColorProfile = new Aspose.Imaging.Sources.StreamSource(rgbProfileStream);
saveOptions.CmykColorProfile = new Aspose.Imaging.Sources.StreamSource(cmykProfileStream);
image.Save(dir + "output.cmyk.jpg", saveOptions);
}
}
// Load CMYK JPEG and save it to PNG
using (Aspose.Imaging.FileFormats.Jpeg.JpegImage image = (Aspose.Imaging.FileFormats.Jpeg.JpegImage)Image.Load(dir + "output.cmyk.jpg"))
{
using (System.IO.Stream rgbProfileStream = System.IO.File.OpenRead(dir + "eciRGB_v2.icc"))
using (System.IO.Stream cmykProfileStream = System.IO.File.OpenRead(dir + "ISOcoated_v2_FullGamut4.icc"))
{
// Use custom ICC profiles
image.RgbColorProfile = new Aspose.Imaging.Sources.StreamSource(rgbProfileStream);
image.CmykColorProfile = new Aspose.Imaging.Sources.StreamSource(cmykProfileStream);
Aspose.Imaging.ImageOptions.PngOptions saveOptions = new Aspose.Imaging.ImageOptions.PngOptions();
image.Save(dir + "output.rgb.png", saveOptions);
}
}
SampleRoundingMode
接收或设置样品旋转模式以匹配 8 位值与 n 位值。
public SampleRoundingMode SampleRoundingMode { get; set; }
财产价值
ScaledQuality
可扩展的质量。
public int ScaledQuality { get; }
财产价值
VerticalSampling
接收或设置每个组件的垂直子组合。
public byte[] VerticalSampling { get; set; }
财产价值
byte ( )