Class JpegOptions

Class JpegOptions

Namespace: Aspose.Imaging.ImageOptions
Assembly: Aspose.Imaging.dll (25.7.0)

Create high-quality JPEG images effortlessly with our API, offering adjustablelevels of compression to optimize storage size without compromising image quality.Benefit from support for various compression types, near lossless coding,RGB and CMYK color profiles, as well as EXIF, JFIF image data, and XMPcontainers, ensuring versatile and customizable options for your image creation needs.

[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

Inherited Members

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

This example demonstrates the use of System.IO.Stream to Create a new Image file (a JPEG type)

Aspose.Imaging.ImageOptions.JpegOptions jpegOptions = new Aspose.Imaging.ImageOptions.JpegOptions();
   System.IO.Stream stream = new System.IO.FileStream(@"C:\temp\sample.jpeg", System.IO.FileMode.Create);
   jpegOptions.Source = new Aspose.Imaging.Sources.StreamSource(stream, true);
   using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Create(jpegOptions, 500, 500))
   {
   }

This example demonstrates the use of different classes from SaveOptions Namespace for export purposes. An image of type Gif is loaded into an instance of Image and then exported out to several formats.

string dir = "c:\\temp\\";
   using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
   {
       image.Save(dir + "output.bmp", new Aspose.Imaging.ImageOptions.BmpOptions());
       image.Save(dir + "output.jpg", new Aspose.Imaging.ImageOptions.JpegOptions());
       image.Save(dir + "output.png", new Aspose.Imaging.ImageOptions.PngOptions());
       image.Save(dir + "output.tif", new Aspose.Imaging.FileFormats.Tiff.TiffOptions(Aspose.Imaging.FileFormats.Tiff.Enums.TiffExpectedFormat.Default));
   }

The following example shows how to convert a multipage vector image to JPEG format in general way without referencing to a particular image type.

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;
       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()

Initializes a new instance of the Aspose.Imaging.ImageOptions.JpegOptions class.

[JsonConstructor]
   public JpegOptions()
   {
   }

Examples

The following example loads a BMP image and saves it to JPEG using various save options.

string dir = "c:\\temp\\";
   using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.bmp"))
   {
       Aspose.Imaging.ImageOptions.JpegOptions saveOptions = new Aspose.Imaging.ImageOptions.JpegOptions();
       saveOptions.BitsPerChannel = 8;
       saveOptions.CompressionType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionMode.Progressive;
       saveOptions.Quality = 100;
       saveOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);
       saveOptions.ResolutionUnit = Aspose.Imaging.ResolutionUnit.Inch;
       saveOptions.ColorType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionColorMode.Grayscale;
       saveOptions.Palette = Aspose.Imaging.ColorPaletteHelper.Create8BitGrayscale(false);
       image.Save(dir + "sample.palettized.jpg", saveOptions);
   }

The following example shows how to create JPEG image of the specified size with the specified parameters.

string dir = "c:\\temp\\";
   Aspose.Imaging.ImageOptions.JpegOptions createOptions = new Aspose.Imaging.ImageOptions.JpegOptions();
   createOptions.BitsPerChannel = 8;
   createOptions.CompressionType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionMode.Progressive;
   createOptions.Quality = 100;
   createOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);
   createOptions.ResolutionUnit = Aspose.Imaging.ResolutionUnit.Inch;
   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);
      graphics.FillRectangle(gradientBrush, jpegImage.Bounds);
      jpegImage.Save(dir + "output.explicitoptions.jpg");
   }

JpegOptions(JpegOptions)

Initializes a new instance of the Aspose.Imaging.ImageOptions.JpegOptions class.

public JpegOptions(JpegOptions jpegOptions)
   {
   }

Parameters

jpegOptions JpegOptions

The JPEG options.

Properties

BitsPerChannel

Gets or sets bits per channel for lossless jpeg image. Now we support from 2 to 8 bits per channel.

public byte BitsPerChannel
    {
        get;
        set;
    }

Property Value

byte

Examples

The following example loads a BMP image and saves it to JPEG using various save options.

string dir = "c:\\temp\\";
   using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.bmp"))
   {
       Aspose.Imaging.ImageOptions.JpegOptions saveOptions = new Aspose.Imaging.ImageOptions.JpegOptions();
       saveOptions.BitsPerChannel = 8;
       saveOptions.CompressionType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionMode.Progressive;
       saveOptions.Quality = 100;
       saveOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);
       saveOptions.ResolutionUnit = Aspose.Imaging.ResolutionUnit.Inch;
       saveOptions.ColorType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionColorMode.Grayscale;
       saveOptions.Palette = Aspose.Imaging.ColorPaletteHelper.Create8BitGrayscale(false);
       image.Save(dir + "sample.palettized.jpg", saveOptions);
   }

The following example shows how to create JPEG image of the specified size with the specified parameters.

string dir = "c:\\temp\\";
   Aspose.Imaging.ImageOptions.JpegOptions createOptions = new Aspose.Imaging.ImageOptions.JpegOptions();
   createOptions.BitsPerChannel = 8;
   createOptions.CompressionType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionMode.Progressive;
   createOptions.Quality = 100;
   createOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);
   createOptions.ResolutionUnit = Aspose.Imaging.ResolutionUnit.Inch;
   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);
       graphics.FillRectangle(gradientBrush, jpegImage.Bounds);
       jpegImage.Save(dir + "output.explicitoptions.jpg");
   }

CmykColorProfile

The destination CMYK color profile for CMYK jpeg images. Use for saving images. Must be in pair with RGBColorProfile for correct color conversion.

public Stream SourceForCmykColorProfile { get; set; }

Property Value

StreamSource

Examples

The following example loads PNG and saves it to CMYK JPEG using custom ICC profile. Then loads CMYK JPEG and saves it back to PNG. The color conversion from RGB to CMYK and from CMYK to RGB is performed using custom ICC profiles.

string dir = "c:\\temp\\";
   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;
           saveOptions.RgbColorProfile = new Aspose.Imaging.Sources.StreamSource(rgbProfileStream);
           saveOptions.CmykColorProfile = new Aspose.Imaging.Sources.StreamSource(cmykProfileStream);
           image.Save(dir + "output.cmyk.jpg", saveOptions);
       }
   }
   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"))
       {
           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

Gets or sets the color type for jpeg image.

public JpegCompressionColorMode ColorType
   {
      get;
      set;
   }

Property Value

JpegCompressionColorMode

Examples

The following example loads a BMP image and saves it to JPEG using various save options.

string dir = "c:\\temp\\";
   using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.bmp"))
   {
       Aspose.Imaging.ImageOptions.JpegOptions saveOptions = new Aspose.Imaging.ImageOptions.JpegOptions();
       saveOptions.BitsPerChannel = 8;
       saveOptions.CompressionType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionMode.Progressive;
       saveOptions.Quality = 100;
       saveOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);
       saveOptions.ResolutionUnit = Aspose.Imaging.ResolutionUnit.Inch;
       saveOptions.ColorType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionColorMode.Grayscale;
       saveOptions.Palette = Aspose.Imaging.ColorPaletteHelper.Create8BitGrayscale(false);
       image.Save(dir + "sample.palettized.jpg", saveOptions);
   }

The following example loads PNG and saves it to CMYK JPEG using custom ICC profile. Then loads CMYK JPEG and saves it back to PNG. The color conversion from RGB to CMYK and from CMYK to RGB is performed using custom ICC profiles.

string dir = "c:\\temp\\";
   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;
           saveOptions.RgbColorProfile = new Aspose.Imaging.Sources.StreamSource(rgbProfileStream);
           saveOptions.CmykColorProfile = new Aspose.Imaging.Sources.StreamSource(cmykProfileStream);
           image.Save(dir + "output.cmyk.jpg", saveOptions);
       }
   }
   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"))
       {
           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);
       }
   }

The following example shows how to create JPEG image of the specified size with the specified parameters.

string dir = "c:\\temp\\";
   Aspose.Imaging.ImageOptions.JpegOptions createOptions = new Aspose.Imaging.ImageOptions.JpegOptions();
   createOptions.BitsPerChannel = 8;
   createOptions.CompressionType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionMode.Progressive;
   createOptions.Quality = 100;
   createOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);
   createOptions.ResolutionUnit = Aspose.Imaging.ResolutionUnit.Inch;
   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);
       graphics.FillRectangle(gradientBrush, jpegImage.Bounds);
       jpegImage.Save(dir + "output.explicitoptions.jpg");
   }

Comment

Gets or sets the jpeg file comment.

public string Comment
{
    get;
    set;
}

Property Value

string

CompressionType

Gets or sets the compression type.

public JpegCompressionMode CompressionType
   {
      get;
      set;
   }

Property Value

JpegCompressionMode

Examples

The following example loads a BMP image and saves it to JPEG using various save options.

string dir = "c:\\temp\\";
   using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.bmp"))
   {
       Aspose.Imaging.ImageOptions.JpegOptions saveOptions = new Aspose.Imaging.ImageOptions.JpegOptions();
       saveOptions.BitsPerChannel = 8;
       saveOptions.CompressionType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionMode.Progressive;
       saveOptions.Quality = 100;
       saveOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);
       saveOptions.ResolutionUnit = Aspose.Imaging.ResolutionUnit.Inch;
       saveOptions.ColorType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionColorMode.Grayscale;
       saveOptions.Palette = Aspose.Imaging.ColorPaletteHelper.Create8BitGrayscale(false);
       image.Save(dir + "sample.palettized.jpg", saveOptions);
   }

The following example shows how to create JPEG image of the specified size with the specified parameters.

string dir = "c:\\temp\\";
   Aspose.Imaging.ImageOptions.JpegOptions createOptions = new Aspose.Imaging.ImageOptions.JpegOptions();
   createOptions.BitsPerChannel = 8;
   createOptions.CompressionType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionMode.Progressive;
   createOptions.Quality = 100;
   createOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);
   createOptions.ResolutionUnit = Aspose.Imaging.ResolutionUnit.Inch;
   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);
       graphics.FillRectangle(gradientBrush, jpegImage.Bounds);
       jpegImage.Save(dir + "output.explicitoptions.jpg");
   }

DefaultMemoryAllocationLimit

Gets or sets the default memory allocation limit.

using System;
[Obsolete("Use Aspose.Imaging.Image.BufferSizeHint, Aspose.Imaging.ImageOptionsBase.BufferSizeHint or Aspose.Imaging.LoadOptions.BufferSizeHint instead.")]
public int DefaultMemoryAllocationLimit
{
    get;
    set;
}

Property Value

int

ExifData

Get or set Exif data container.

[JsonProperty]
    public JpegExifData ExifData
    {
        get;
        set;
    }

Property Value

JpegExifData

HorizontalSampling

Gets or sets the horizontal subsamplings for each component.

public byte[] HorizontalSampling
{
    get;
    set;
}

Property Value

byte []

Jfif

Gets or sets the jfif.

public JFIFData Jfif
    {
        get;
        set;
    }

Property Value

JFIFData

JpegLsAllowedLossyError

Gets or sets the JPEG-LS difference bound for near-lossless coding (NEAR parameter from the JPEG-LS specification).

public int JpegLsAllowedLossyError
   {
      get;
      set;
   }

Property Value

int

JpegLsInterleaveMode

Gets or sets the JPEG-LS interleave mode.

public JpegLsInterleaveMode JpegLsInterleaveMode
   {
      get;
      set;
   }

Property Value

JpegLsInterleaveMode

JpegLsPreset

Gets or sets the JPEG-LS preset parameters.

public JpegLsPresetCodingParameters JpegLsPreset
   {
      get;
      set;
   }

Property Value

JpegLsPresetCodingParameters

PreblendAlphaIfPresent

Gets or sets a value indicating whether red, green and blue components should be mixed with a background color, if alpha channel is present.

public bool PreblendAlphaIfPresent
{
    get;
    set;
}

Property Value

bool

Quality

Gets or sets image quality.

public int Quality
   {
      get;
      set;
   }

Property Value

int

Examples

The following example loads a BMP image and saves it to JPEG using various save options.

string dir = "c:\\temp\\";
   using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.bmp"))
   {
       Aspose.Imaging.ImageOptions.JpegOptions saveOptions = new Aspose.Imaging.ImageOptions.JpegOptions();
       saveOptions.BitsPerChannel = 8;
       saveOptions.CompressionType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionMode.Progressive;
       saveOptions.Quality = 100;
       saveOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);
       saveOptions.ResolutionUnit = Aspose.Imaging.ResolutionUnit.Inch;
       saveOptions.ColorType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionColorMode.Grayscale;
       saveOptions.Palette = Aspose.Imaging.ColorPaletteHelper.Create8BitGrayscale(false);
       image.Save(dir + "sample.palettized.jpg", saveOptions);
   }

The following example shows how to create JPEG image of the specified size with the specified parameters.

string dir = "c:\\temp\\";
   Aspose.Imaging.ImageOptions.JpegOptions createOptions = new Aspose.Imaging.ImageOptions.JpegOptions();
   createOptions.BitsPerChannel = 8;
   createOptions.CompressionType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionMode.Progressive;
   createOptions.Quality = 100;
   createOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);
   createOptions.ResolutionUnit = Aspose.Imaging.ResolutionUnit.Inch;
   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);
       graphics.FillRectangle(gradientBrush, jpegImage.Bounds);
       jpegImage.Save(dir + "output.explicitoptions.jpg");
   }

RdOptSettings

Gets or sets the RD optimizer settings.

[JsonProperty]
   public RdOptimizerSettings RdOptSettings
   {
      get;
      set;
   }

Property Value

RdOptimizerSettings

ResolutionUnit

Gets or sets the resolution unit.

public ResolutionUnit ResolutionUnit
    {
        get;
        set;
    }

Property Value

ResolutionUnit

Examples

The following example loads a BMP image and saves it to JPEG using various save options.

string dir = "c:\\temp\\";
   using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.bmp"))
   {
       Aspose.Imaging.ImageOptions.JpegOptions saveOptions = new Aspose.Imaging.ImageOptions.JpegOptions();
       saveOptions.BitsPerChannel = 8;
       saveOptions.CompressionType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionMode.Progressive;
       saveOptions.Quality = 100;
       saveOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);
       saveOptions.ResolutionUnit = Aspose.Imaging.ResolutionUnit.Inch;
       saveOptions.ColorType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionColorMode.Grayscale;
       saveOptions.Palette = Aspose.Imaging.ColorPaletteHelper.Create8BitGrayscale(false);
       image.Save(dir + "sample.palettized.jpg", saveOptions);
   }

The following example shows how to create JPEG image of the specified size with the specified parameters.

string dir = "c:\\temp\\";
   Aspose.Imaging.ImageOptions.JpegOptions createOptions = new Aspose.Imaging.ImageOptions.JpegOptions();
   createOptions.BitsPerChannel = 8;
   createOptions.CompressionType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionMode.Progressive;
   createOptions.Quality = 100;
   createOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);
   createOptions.ResolutionUnit = Aspose.Imaging.ResolutionUnit.Inch;
   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);
       graphics.FillRectangle(gradientBrush, jpegImage.Bounds);
       jpegImage.Save(dir + "output.explicitoptions.jpg");
   }

RgbColorProfile

The destination RGB color profile for CMYK jpeg images. Use for saving images. Must be in pair with CMYKColorProfile for correct color conversion.

public Stream Source for RGB Color Profile { get; set; }

Property Value

StreamSource

Examples

The following example loads PNG and saves it to CMYK JPEG using custom ICC profile. Then loads CMYK JPEG and saves it back to PNG. The color conversion from RGB to CMYK and from CMYK to RGB is performed using custom ICC profiles.

string dir = "c:\\temp\\";
   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;
           saveOptions.RgbColorProfile = new Aspose.Imaging.Sources.StreamSource(rgbProfileStream);
           saveOptions.CmykColorProfile = new Aspose.Imaging.Sources.StreamSource(cmykProfileStream);
           image.Save(dir + "output.cmyk.jpg", saveOptions);
       }
   }
   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"))
       {
           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

Gets or sets the sample rounding mode to fit an 8-bit value to an n-bit value. JpegOptions.BitsPerChannel

public SampleRoundingMode SampleRoundingMode
    {
        get;
        set;
    }

Property Value

SampleRoundingMode

ScaledQuality

The scaled quality.

public int ScaledQuality
   {
      get;
   }

Property Value

int

VerticalSampling

Gets or sets the vertical subsamplings for each component.

public byte[] VerticalSampling
{
    get;
    set;
}

Property Value

byte []

 English