- About Graphics Mill
- What's New?
- Breaking Changes in Graphics Mill 12
- Breaking Changes in Graphics Mill 11
- Features
- Supported File Formats
- System Requirements
- Getting Started
- Working with Image Formats
- Transforming Images (Resize, Rotate, Crop)
- Working with Metadata
- Color Management and Color Reduction
- Drawing Text and Graphics
- Color Keying (Green Screen Removal)
- Channels and Pixel Data
- Color and Tone Correction
- Working with Photoshop (PSD) Files
- Image Filters
- Processing Large Images
- Basics of Image Processing
- Troubleshooting
- Class Library Reference
- Aurigma.GraphicsMill Namespace
- Aurigma.GraphicsMill.Codecs Namespace
- AdobeResourceBlock Class
- AdobeResourceDictionary Class
- BmpReader Class
- BmpSettings Class
- BmpWriter Class
- CIP4 Class
- CodecRegistry Class
- ColorBitDepth Enumeration
- CompressionType Enumeration
- CustomImageReader Class
- CustomImageWriter Class
- CustomReaderCreateCallback Delegate
- DisposalMethod Enumeration
- EpsReader Class
- EpsSettings Class
- EpsWriter Class
- ExifDictionary Class
- ExifItemInfo Class
- FileFormat Enumeration
- Frame Class
- FrameCollection(TFrame) Class
- FrameCollectionBase Class
- GifFrame Class
- GifFrameSettings Class
- GifReader Class
- GifSettings Class
- GifWriter Class
- IImageReader Interface
- IImageWriter Interface
- ImageReader Class
- ImageWriter Class
- IMetadataWriter Interface
- IptcDictionary Class
- IXmpDictionary Interface
- JpegAlignToSampleSizeMode Enumeration
- JpegMarkerException Class
- JpegReader Class
- JpegScale Enumeration
- JpegSettings Class
- JpegWriter Class
- LosslessJpeg Class
- MediaCorruptedException Class
- MediaProviderException Class
- MediaUnsupportedException Class
- MetadataDictionary Class
- MetadataEnumerator Class
- MultiFrameException Class
- OutputIntent Class
- PdfFrame Class
- PdfPage Class
- PdfReader Class
- PdfSettings Class
- PdfTextOutputMode Enumeration
- PdfVtDictionary Class
- PdfVtOptions Class
- PdfWriter Class
- PngFrame Class
- PngReader Class
- PngSettings Class
- PngWriter Class
- RawReader Class
- ResolveImageArgs Class
- ResolveImageCallback Delegate
- ResolveProfileCallback Delegate
- SmartObjectCropTo Enumeration
- SvgReader Class
- SvgReaderSettings Class
- SvgSettings Class
- SvgWriter Class
- TgaReader Class
- TgaSettings Class
- TgaWriter Class
- TiffChannelType Enumeration
- TiffExtraChannel Class
- TiffExtraChannelCollection Class
- TiffExtraChannelEntry Class
- TiffFrame Class
- TiffReader Class
- TiffSettings Class
- TiffWriter Class
- WebPFrame Class
- WebPFrameFormat Enumeration
- WebPFrameSettings Class
- WebPReader Class
- WebPSettings Class
- WebPWriter Class
- WriterSettings Class
- XmpArrayNode Class
- XmpData Class
- XmpDictionaryNode Class
- XmpLocalizedTextItemNode Class
- XmpLocalizedTextNode Class
- XmpNamespace Class
- XmpNode Class
- XmpNodeType Enumeration
- XmpStructNode Class
- XmpTagNames Class
- XmpValueNode Class
- Aurigma.GraphicsMill.Codecs.ClippingPath Namespace
- Aurigma.GraphicsMill.Codecs.Psd Namespace
- Aurigma.GraphicsMill.Drawing Namespace
- Aurigma.GraphicsMill.Drawing.Art Namespace
- Aurigma.GraphicsMill.Drawing.Effects Namespace
- Aurigma.GraphicsMill.Licensing Namespace
- Aurigma.GraphicsMill.Templates Namespace
- Aurigma.GraphicsMill.Transforms Namespace
- Licensing
- End User License Agreement
- Copyright Notices
JpegSettings Class
Applies to: Graphics Mill 12.1, 6.x-12.x (may differ)
Contains all the possible JPEG writing settings.
Namespace:
Aurigma.GraphicsMill.Codecs
Assembly:
Aurigma.GraphicsMill (in Aurigma.GraphicsMill.dll)
Syntax
public sealed class JpegSettings : WriterSettings
Remarks
The main JPEG encoder setting is a quality/file size ratio. It is specified with Quality property. This property accepts values in range [0, 100] where 0 means the lowest quality (but smallest file size) and 100 means the highest quality (but largest file size).
Besides of this you can specify is JPEG should be progressive (using IsProgressive). It allows the browsers to display the JPEG file while it is being downloaded (displaying more and more details upon new file portions download). Unfortunately this feature is not supported with Internet Explorer browser.
Another compression setting can be changed via UseSubsampling property. Chroma subsampling is one of the compression methods used in JPEG. It is based on the specific of the human vision and allows to reduce size of the result file by storing color information at lower resolution than luminance information. In most cases this tradeoff will not be noticeable to the human. But sometimes such information loss may be significant (e.g. for some classes of image processing algorithms) and chroma subsampling should be turned off. Chroma subsampling is enabled by default.
You can also provide meta-information for encoding. Use AdobeResources, Exif and Iptc properties to specify corresponding metadata objects.
Examples
The following code saves JPEG file with the quality value set to 90, disabled chroma subsampling, and the enabled JPEG progressive technique.
using (var bitmap = new Bitmap(@"Images\in.jpg"))
{
var jpegSettings = new JpegSettings();
jpegSettings.Quality = 90;
jpegSettings.UseSubsampling = false;
jpegSettings.IsProgressive = true;
bitmap.Save(@"Images\Output\out.jpg", jpegSettings);
}