JpegOptions

Inheritance: java.lang.Object, com.aspose.imaging.DisposableObject, com.aspose.imaging.ImageOptionsBase

All Implemented Interfaces: com.aspose.imaging.exif.IHasJpegExifData

public class JpegOptions extends ImageOptionsBase implements IHasJpegExifData

Создавайте высококачественные JPEG‑изображения без усилий с помощью нашего API, предлагающего регулируемые уровни сжатия для оптимизации размера хранения без ущерба качеству изображения. Получайте поддержку различных типов сжатия, почти без потерь кодирования, профилей цветов RGB и CMYK, а также данных EXIF, JFIF и контейнеров XMP, обеспечивая гибкие и настраиваемые варианты для ваших потребностей в создании изображений.

Конструкторы

КонструкторОписание
JpegOptions()Инициализирует новый экземпляр класса JpegOptions.
JpegOptions(JpegOptions jpegOptions)Инициализирует новый экземпляр класса JpegOptions.

Методы

МетодОписание
getDefaultMemoryAllocationLimit()Получает значение предела выделения памяти по умолчанию.
setDefaultMemoryAllocationLimit(int value)Устанавливает предельный размер выделения памяти по умолчанию.
getJfif()Получает jfif.
setJfif(JFIFData value)Устанавливает jfif.
getComment()Получает комментарий JPEG‑файла.
setComment(String value)Устанавливает комментарий JPEG‑файла.
getExifData()Получает контейнер данных Exif.
setExifData(ExifData value)Устанавливает данные Exif.
getJpegExifData()Получить контейнер данных Exif.
setJpegExifData(JpegExifData value)Получить или установить контейнер данных Exif
getCompressionType()Получает тип сжатия.
setCompressionType(int value)Задает тип сжатия.
getColorType()Получает тип цвета для JPEG‑изображения.
setColorType(int value)Устанавливает тип цвета для JPEG‑изображения.
getBitsPerChannel()Получает количество бит на канал для без потерь JPEG‑изображения.
setBitsPerChannel(byte value)Устанавливает количество бит на канал для без потерь JPEG‑изображения.
getQuality()Получает качество изображения.
setQuality(int value)Устанавливает качество изображения.
getScaledQuality()Масштабированное качество.
getRdOptSettings()Получает настройки оптимизатора RD.
setRdOptSettings(RdOptimizerSettings value)Устанавливает настройки оптимизатора RD.
getRgbColorProfile()Целевой профиль цвета RGB для CMYK JPEG‑изображений.
setRgbColorProfile(StreamSource value)Целевой профиль цвета RGB для CMYK JPEG‑изображений.
getCmykColorProfile()Целевой профиль цвета CMYK для CMYK JPEG‑изображений.
setCmykColorProfile(StreamSource value)Целевой профиль цвета CMYK для CMYK JPEG‑изображений.
getJpegLsAllowedLossyError()Получает границу различий JPEG‑LS для почти без потерь кодирования (параметр NEAR из спецификации JPEG‑LS).
setJpegLsAllowedLossyError(int value)Устанавливает границу различий JPEG‑LS для почти без потерь кодирования (параметр NEAR из спецификации JPEG‑LS).
getJpegLsInterleaveMode()Получает режим чередования JPEG‑LS.
setJpegLsInterleaveMode(int value)Устанавливает режим чередования JPEG‑LS.
getJpegLsPreset()Получает предустановленные параметры JPEG‑LS.
setJpegLsPreset(JpegLsPresetCodingParameters value)Устанавливает предустановленные параметры JPEG-LS.
getHorizontalSampling()Получает горизонтальные субдискретизации для каждого компонента.
setHorizontalSampling(byte[] value)Устанавливает горизонтальные субдискретизации для каждого компонента.
getVerticalSampling()Получает вертикальные субдискретизации для каждого компонента.
setVerticalSampling(byte[] value)Устанавливает вертикальные субдискретизации для каждого компонента.
getSampleRoundingMode()Получает режим округления образца для приведения 8‑битного значения к n‑битному.
setSampleRoundingMode(int value)Устанавливает режим округления образца для приведения 8‑битного значения к n‑битному.
getPreblendAlphaIfPresent()Получает значение, указывающее, следует ли смешивать красные, зеленые и синие компоненты с фоновым цветом, если присутствует альфа‑канал.
setPreblendAlphaIfPresent(boolean value)Устанавливает значение, указывающее, следует ли смешивать красные, зеленые и синие компоненты с фоновым цветом, если присутствует альфа‑канал.
getResolutionUnit()Получает единицу измерения разрешения.
setResolutionUnit(byte value)Устанавливает единицу измерения разрешения.

Example: This example demonstrates the use of different classes from SaveOptions Namespace for export purposes.

В этом примере демонстрируется использование различных классов из пространства имен SaveOptions для экспорта. Изображение типа Gif загружается в экземпляр класса Image, а затем экспортируется в несколько форматов.

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

//Загрузите существующее изображение (типа Gif) в экземпляр класса Image.
com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.gif");
try {
    //Экспорт в формат BMP с использованием параметров по умолчанию.
    image.save(dir + "output.bmp", new com.aspose.imaging.imageoptions.BmpOptions());

    //Экспорт в формат JPEG с использованием параметров по умолчанию.
    image.save(dir + "output.jpeg", new com.aspose.imaging.imageoptions.JpegOptions());

    //Экспорт в формат PNG с использованием параметров по умолчанию.
    image.save(dir + "output.png", new com.aspose.imaging.imageoptions.PngOptions());

    //Экспорт в формат TIFF с использованием параметров по умолчанию.
    image.save(dir + "output.tif", new com.aspose.imaging.imageoptions.TiffOptions(com.aspose.imaging.fileformats.tiff.enums.TiffExpectedFormat.Default));
} finally {
    image.dispose();
}

Example: 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 = (dir + "Multipage.cdr");
String outputFilePath = (dir + "Multipage.cdr.jpeg");

com.aspose.imaging.ImageOptionsBase exportOptions = new com.aspose.imaging.imageoptions.JpegOptions();

try (com.aspose.imaging.Image image = com.aspose.imaging.Image.load(inputFilePath))
{
    exportOptions.setMultiPageOptions(null);

    // Экспортировать только первые две страницы. На самом деле будет растеризована только одна страница, поскольку JPEG не поддерживает многостраничный формат.
    com.aspose.imaging.IMultipageImage multipageImage = (image instanceof com.aspose.imaging.IMultipageImage) ? (com.aspose.imaging.IMultipageImage) image : null;
    if (multipageImage != null && (multipageImage.getPages() != null && multipageImage.getPageCount() > 2))
    {
        exportOptions.setMultiPageOptions(new com.aspose.imaging.imageoptions.MultiPageOptions(new com.aspose.imaging.IntRange(0, 2)));
    }

    if (image instanceof com.aspose.imaging.VectorImage)
    {
        com.aspose.imaging.imageoptions.VectorRasterizationOptions defaultOptions = (com.aspose.imaging.imageoptions.VectorRasterizationOptions) image.getDefaultOptions(new Object[]{Color.getWhite(), image.getWidth(), image.getHeight()});
        exportOptions.setVectorRasterizationOptions(defaultOptions);
        defaultOptions.setTextRenderingHint(com.aspose.imaging.TextRenderingHint.SingleBitPerPixel);
        defaultOptions.setSmoothingMode(com.aspose.imaging.SmoothingMode.None);
    }

    image.save(outputFilePath, exportOptions);
}

JpegOptions()

public JpegOptions()

Инициализирует новый экземпляр класса JpegOptions.

JpegOptions(JpegOptions jpegOptions)

public JpegOptions(JpegOptions jpegOptions)

Инициализирует новый экземпляр класса JpegOptions.

Parameters:

ПараметрТипОписание
jpegOptionsJpegOptionsПараметры JPEG.

getDefaultMemoryAllocationLimit()

public int getDefaultMemoryAllocationLimit()

Получает значение предела выделения памяти по умолчанию.

Returns: int — предел выделения памяти по умолчанию.

setDefaultMemoryAllocationLimit(int value)

public void setDefaultMemoryAllocationLimit(int value)

Устанавливает предельный размер выделения памяти по умолчанию.

Parameters:

ПараметрТипОписание
valueintПредел выделения памяти по умолчанию.

getJfif()

public JFIFData getJfif()

Получает jfif.

Returns: JFIFData

setJfif(JFIFData value)

public void setJfif(JFIFData value)

Устанавливает jfif.

Parameters:

ПараметрТипОписание
valueJFIFData

getComment()

public String getComment()

Получает комментарий JPEG‑файла.

Returns: java.lang.String

setComment(String value)

public void setComment(String value)

Устанавливает комментарий JPEG‑файла.

Parameters:

ПараметрТипОписание
valuejava.lang.String

getExifData()

public ExifData getExifData()

Получает контейнер данных Exif.

Returns: ExifData - Exif data container.

setExifData(ExifData value)

public final void setExifData(ExifData value)

Устанавливает данные Exif.

Parameters:

ПараметрТипОписание
valueExifDataДанные Exif.

getJpegExifData()

public final JpegExifData getJpegExifData()

Получить контейнер данных Exif.

Returns: JpegExifData - Exif data container.

setJpegExifData(JpegExifData value)

public void setJpegExifData(JpegExifData value)

Получить или установить контейнер данных Exif

Parameters:

ПараметрТипОписание
valueJpegExifData

getCompressionType()

public int getCompressionType()

Получает тип сжатия.

Returns: int

setCompressionType(int value)

public void setCompressionType(int value)

Задает тип сжатия.

Parameters:

ПараметрТипОписание
valueint

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

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

// Создайте JPEG‑изображение размером 100×100 пикселей.
// Используйте дополнительные параметры, чтобы указать требуемые параметры изображения.
com.aspose.imaging.imageoptions.JpegOptions createOptions = new com.aspose.imaging.imageoptions.JpegOptions();

// Количество бит на канал равно 8, 8, 8 для компонентов Y, Cr, Cb соответственно.
createOptions.setBitsPerChannel((byte) 8);

// Установите прогрессивный тип сжатия.
createOptions.setCompressionType(com.aspose.imaging.fileformats.jpeg.JpegCompressionMode.Progressive);

// Установите качество изображения. Это значение от 1 до 100.
createOptions.setQuality(100);

// Установите горизонтальное/вертикальное разрешение в 96 точек на дюйм.
createOptions.setResolutionSettings(new com.aspose.imaging.ResolutionSetting(96.0, 96.0));
createOptions.setResolutionUnit(com.aspose.imaging.ResolutionUnit.Inch);

// Это стандартный параметр для JPEG‑изображений.
// Два хрома‑компонента (Cb и Cr) могут быть уменьшены по пропускной способности, субдискретизированы, сжаты.
createOptions.setColorType(com.aspose.imaging.fileformats.jpeg.JpegCompressionColorMode.YCbCr);

com.aspose.imaging.fileformats.jpeg.JpegImage jpegImage = new com.aspose.imaging.fileformats.jpeg.JpegImage(createOptions, 100, 100);
try {
    com.aspose.imaging.Graphics graphics = new com.aspose.imaging.Graphics(jpegImage);

    com.aspose.imaging.brushes.LinearGradientBrush gradientBrush = new com.aspose.imaging.brushes.LinearGradientBrush(
            new com.aspose.imaging.Point(0, 0),
            new com.aspose.imaging.Point(jpegImage.getWidth(), jpegImage.getHeight()),
            com.aspose.imaging.Color.getYellow(),
            com.aspose.imaging.Color.getBlue());

    // Заполните изображение градиентом оттенков серого
    graphics.fillRectangle(gradientBrush, jpegImage.getBounds());

    // Сохранить в файл.
    jpegImage.save(dir + "output.explicitoptions.jpg");
} finally {
    jpegImage.dispose();
}

getColorType()

public int getColorType()

Получает тип цвета для JPEG‑изображения.

Returns: int

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

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

// Создайте JPEG‑изображение размером 100×100 пикселей.
// Используйте дополнительные параметры, чтобы указать требуемые параметры изображения.
com.aspose.imaging.imageoptions.JpegOptions createOptions = new com.aspose.imaging.imageoptions.JpegOptions();

// Количество бит на канал равно 8, 8, 8 для компонентов Y, Cr, Cb соответственно.
createOptions.setBitsPerChannel((byte) 8);

// Установите прогрессивный тип сжатия.
createOptions.setCompressionType(com.aspose.imaging.fileformats.jpeg.JpegCompressionMode.Progressive);

// Установите качество изображения. Это значение от 1 до 100.
createOptions.setQuality(100);

// Установите горизонтальное/вертикальное разрешение в 96 точек на дюйм.
createOptions.setResolutionSettings(new com.aspose.imaging.ResolutionSetting(96.0, 96.0));
createOptions.setResolutionUnit(com.aspose.imaging.ResolutionUnit.Inch);

// Это стандартный параметр для JPEG‑изображений.
// Два хрома‑компонента (Cb и Cr) могут быть уменьшены по пропускной способности, субдискретизированы, сжаты.
createOptions.setColorType(com.aspose.imaging.fileformats.jpeg.JpegCompressionColorMode.YCbCr);

com.aspose.imaging.fileformats.jpeg.JpegImage jpegImage = new com.aspose.imaging.fileformats.jpeg.JpegImage(createOptions, 100, 100);
try {
    com.aspose.imaging.Graphics graphics = new com.aspose.imaging.Graphics(jpegImage);

    com.aspose.imaging.brushes.LinearGradientBrush gradientBrush = new com.aspose.imaging.brushes.LinearGradientBrush(
            new com.aspose.imaging.Point(0, 0),
            new com.aspose.imaging.Point(jpegImage.getWidth(), jpegImage.getHeight()),
            com.aspose.imaging.Color.getYellow(),
            com.aspose.imaging.Color.getBlue());

    // Заполните изображение градиентом оттенков серого
    graphics.fillRectangle(gradientBrush, jpegImage.getBounds());

    // Сохранить в файл.
    jpegImage.save(dir + "output.explicitoptions.jpg");
} finally {
    jpegImage.dispose();
}

setColorType(int value)

public void setColorType(int value)

Устанавливает тип цвета для JPEG‑изображения.

Parameters:

ПараметрТипОписание
valueint

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

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

// Загрузите BMP‑изображение из файла.
com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.bmp");
try {
    // Выполните некоторую обработку изображения.

    // Используйте дополнительные параметры, чтобы указать требуемые параметры изображения.
    com.aspose.imaging.imageoptions.JpegOptions saveOptions = new com.aspose.imaging.imageoptions.JpegOptions();

    // Количество бит на канал равно 8.
    // Когда используется палитра, индекс цвета сохраняется в данных изображения вместо самого цвета.
    saveOptions.setBitsPerChannel((byte) 8);

    // Установите прогрессивный тип сжатия.
    saveOptions.setCompressionType(com.aspose.imaging.fileformats.jpeg.JpegCompressionMode.Progressive);

    // Установите качество изображения. Это значение от 1 до 100.
    saveOptions.setQuality(100);

    // Установите горизонтальное/вертикальное разрешение в 96 точек на дюйм.
    saveOptions.setResolutionSettings(new com.aspose.imaging.ResolutionSetting(96.0, 96.0));
    saveOptions.setResolutionUnit(com.aspose.imaging.ResolutionUnit.Inch);

    // Если исходное изображение цветное, оно будет преобразовано в градации серого.
    saveOptions.setColorType(com.aspose.imaging.fileformats.jpeg.JpegCompressionColorMode.Grayscale);

    // Используйте палитру, чтобы уменьшить размер вывода.
    saveOptions.setPalette(com.aspose.imaging.ColorPaletteHelper.create8BitGrayscale(false));

    image.save(dir + "sample.palettized.jpg", saveOptions);
} finally {
    image.dispose();
}

getBitsPerChannel()

public byte getBitsPerChannel()

Получает количество бит на канал для без потерь JPEG‑изображения. Сейчас поддерживается от 2 до 8 бит на канал.

Returns: byte

setBitsPerChannel(byte value)

public void setBitsPerChannel(byte value)

Устанавливает количество бит на канал для без потерь JPEG‑изображения. Сейчас поддерживается от 2 до 8 бит на канал.

Parameters:

ПараметрТипОписание
valuebyte

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

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

// Создайте JPEG‑изображение размером 100×100 пикселей.
// Используйте дополнительные параметры, чтобы указать требуемые параметры изображения.
com.aspose.imaging.imageoptions.JpegOptions createOptions = new com.aspose.imaging.imageoptions.JpegOptions();

// Количество бит на канал равно 8, 8, 8 для компонентов Y, Cr, Cb соответственно.
createOptions.setBitsPerChannel((byte) 8);

// Установите прогрессивный тип сжатия.
createOptions.setCompressionType(com.aspose.imaging.fileformats.jpeg.JpegCompressionMode.Progressive);

// Установите качество изображения. Это значение от 1 до 100.
createOptions.setQuality(100);

// Установите горизонтальное/вертикальное разрешение в 96 точек на дюйм.
createOptions.setResolutionSettings(new com.aspose.imaging.ResolutionSetting(96.0, 96.0));
createOptions.setResolutionUnit(com.aspose.imaging.ResolutionUnit.Inch);

// Это стандартный параметр для JPEG‑изображений.
// Два хрома‑компонента (Cb и Cr) могут быть уменьшены по пропускной способности, субдискретизированы, сжаты.
createOptions.setColorType(com.aspose.imaging.fileformats.jpeg.JpegCompressionColorMode.YCbCr);

com.aspose.imaging.fileformats.jpeg.JpegImage jpegImage = new com.aspose.imaging.fileformats.jpeg.JpegImage(createOptions, 100, 100);
try {
    com.aspose.imaging.Graphics graphics = new com.aspose.imaging.Graphics(jpegImage);

    com.aspose.imaging.brushes.LinearGradientBrush gradientBrush = new com.aspose.imaging.brushes.LinearGradientBrush(
            new com.aspose.imaging.Point(0, 0),
            new com.aspose.imaging.Point(jpegImage.getWidth(), jpegImage.getHeight()),
            com.aspose.imaging.Color.getYellow(),
            com.aspose.imaging.Color.getBlue());

    // Заполните изображение градиентом оттенков серого
    graphics.fillRectangle(gradientBrush, jpegImage.getBounds());

    // Сохранить в файл.
    jpegImage.save(dir + "output.explicitoptions.jpg");
} finally {
    jpegImage.dispose();
}

getQuality()

public int getQuality()

Получает качество изображения.

Returns: int

setQuality(int value)

public void setQuality(int value)

Устанавливает качество изображения.

Parameters:

ПараметрТипОписание
valueint

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

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

// Создайте JPEG‑изображение размером 100×100 пикселей.
// Используйте дополнительные параметры, чтобы указать требуемые параметры изображения.
com.aspose.imaging.imageoptions.JpegOptions createOptions = new com.aspose.imaging.imageoptions.JpegOptions();

// Количество бит на канал равно 8, 8, 8 для компонентов Y, Cr, Cb соответственно.
createOptions.setBitsPerChannel((byte) 8);

// Установите прогрессивный тип сжатия.
createOptions.setCompressionType(com.aspose.imaging.fileformats.jpeg.JpegCompressionMode.Progressive);

// Установите качество изображения. Это значение от 1 до 100.
createOptions.setQuality(100);

// Установите горизонтальное/вертикальное разрешение в 96 точек на дюйм.
createOptions.setResolutionSettings(new com.aspose.imaging.ResolutionSetting(96.0, 96.0));
createOptions.setResolutionUnit(com.aspose.imaging.ResolutionUnit.Inch);

// Это стандартный параметр для JPEG‑изображений.
// Два хрома‑компонента (Cb и Cr) могут быть уменьшены по пропускной способности, субдискретизированы, сжаты.
createOptions.setColorType(com.aspose.imaging.fileformats.jpeg.JpegCompressionColorMode.YCbCr);

com.aspose.imaging.fileformats.jpeg.JpegImage jpegImage = new com.aspose.imaging.fileformats.jpeg.JpegImage(createOptions, 100, 100);
try {
    com.aspose.imaging.Graphics graphics = new com.aspose.imaging.Graphics(jpegImage);

    com.aspose.imaging.brushes.LinearGradientBrush gradientBrush = new com.aspose.imaging.brushes.LinearGradientBrush(
            new com.aspose.imaging.Point(0, 0),
            new com.aspose.imaging.Point(jpegImage.getWidth(), jpegImage.getHeight()),
            com.aspose.imaging.Color.getYellow(),
            com.aspose.imaging.Color.getBlue());

    // Заполните изображение градиентом оттенков серого
    graphics.fillRectangle(gradientBrush, jpegImage.getBounds());

    // Сохранить в файл.
    jpegImage.save(dir + "output.explicitoptions.jpg");
} finally {
    jpegImage.dispose();
}

getScaledQuality()

public int getScaledQuality()

Масштабированное качество.

Returns: int

getRdOptSettings()

public RdOptimizerSettings getRdOptSettings()

Получает настройки оптимизатора RD.

Returns: RdOptimizerSettings - The RD optimizer settings.

setRdOptSettings(RdOptimizerSettings value)

public void setRdOptSettings(RdOptimizerSettings value)

Устанавливает настройки оптимизатора RD.

Parameters:

ПараметрТипОписание
valueRdOptimizerSettingsНастройки оптимизатора RD.

getRgbColorProfile()

public StreamSource getRgbColorProfile()

Целевой профиль цвета RGB для CMYK JPEG‑изображений. Используется при сохранении изображений. Должен использоваться вместе с CMYKColorProfile для корректного преобразования цветов.

Returns: StreamSource

setRgbColorProfile(StreamSource value)

public void setRgbColorProfile(StreamSource value)

Целевой профиль цвета RGB для CMYK JPEG‑изображений. Используется при сохранении изображений. Должен использоваться вместе с CMYKColorProfile для корректного преобразования цветов.

Parameters:

ПараметрТипОписание
valueStreamSource

Example: The following example loads PNG and saves it to CMYK JPEG using custom ICC profile. В следующем примере PNG загружается и сохраняется в CMYK JPEG с использованием пользовательского ICC‑профиля. Затем CMYK JPEG загружается и сохраняется обратно в PNG. Преобразование цветов из RGB в CMYK и из CMYK в RGB выполняется с помощью пользовательских ICC‑профилей.

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

// Загрузить PNG и сохранить его в CMYK JPEG
com.aspose.imaging.fileformats.png.PngImage image = (com.aspose.imaging.fileformats.png.PngImage) com.aspose.imaging.Image.load(dir + "sample.png");
try {
    java.io.InputStream rgbProfileStream = new java.io.FileInputStream(dir + "eciRGB_v2.icc");
    java.io.InputStream cmykProfileStream = new java.io.FileInputStream(dir + "ISOcoated_v2_FullGamut4.icc");
    try {
        com.aspose.imaging.imageoptions.JpegOptions saveOptions = new com.aspose.imaging.imageoptions.JpegOptions();
        saveOptions.setColorType(com.aspose.imaging.fileformats.jpeg.JpegCompressionColorMode.Cmyk);

        // Использовать пользовательские ICC‑профили
        saveOptions.setRgbColorProfile(new com.aspose.imaging.sources.StreamSource(rgbProfileStream));
        saveOptions.setCmykColorProfile(new com.aspose.imaging.sources.StreamSource(cmykProfileStream));

        image.save(dir + "output.cmyk.jpg", saveOptions);
    } finally {
        rgbProfileStream.close();
        cmykProfileStream.close();
    }
} finally {
    image.dispose();
}

// Загрузить CMYK JPEG и сохранить его в PNG
com.aspose.imaging.fileformats.jpeg.JpegImage jpegImage = (com.aspose.imaging.fileformats.jpeg.JpegImage) com.aspose.imaging.Image.load(dir + "output.cmyk.jpg");
try {
    java.io.InputStream rgbProfileStream = new java.io.FileInputStream(dir + "eciRGB_v2.icc");
    java.io.InputStream cmykProfileStream = new java.io.FileInputStream(dir + "ISOcoated_v2_FullGamut4.icc");
    try {
        // Использовать пользовательские ICC‑профили
        jpegImage.setRgbColorProfile(new com.aspose.imaging.sources.StreamSource(rgbProfileStream));
        jpegImage.setCmykColorProfile(new com.aspose.imaging.sources.StreamSource(cmykProfileStream));

        com.aspose.imaging.imageoptions.PngOptions saveOptions = new com.aspose.imaging.imageoptions.PngOptions();
        jpegImage.save(dir + "output.rgb.png", saveOptions);
    } finally {
        rgbProfileStream.close();
        cmykProfileStream.close();
    }
} finally {
    jpegImage.dispose();
}

getCmykColorProfile()

public StreamSource getCmykColorProfile()

Целевой профиль цвета CMYK для CMYK JPEG‑изображений. Используется при сохранении изображений. Должен использоваться вместе с RGBColorProfile для корректного преобразования цветов.

Returns: StreamSource

setCmykColorProfile(StreamSource value)

public void setCmykColorProfile(StreamSource value)

Целевой профиль цвета CMYK для CMYK JPEG‑изображений. Используется при сохранении изображений. Должен использоваться вместе с RGBColorProfile для корректного преобразования цветов.

Parameters:

ПараметрТипОписание
valueStreamSource

Example: The following example loads PNG and saves it to CMYK JPEG using custom ICC profile. В следующем примере PNG загружается и сохраняется в CMYK JPEG с использованием пользовательского ICC‑профиля. Затем CMYK JPEG загружается и сохраняется обратно в PNG. Преобразование цветов из RGB в CMYK и из CMYK в RGB выполняется с помощью пользовательских ICC‑профилей.

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

// Загрузить PNG и сохранить его в CMYK JPEG
com.aspose.imaging.fileformats.png.PngImage image = (com.aspose.imaging.fileformats.png.PngImage) com.aspose.imaging.Image.load(dir + "sample.png");
try {
    java.io.InputStream rgbProfileStream = new java.io.FileInputStream(dir + "eciRGB_v2.icc");
    java.io.InputStream cmykProfileStream = new java.io.FileInputStream(dir + "ISOcoated_v2_FullGamut4.icc");
    try {
        com.aspose.imaging.imageoptions.JpegOptions saveOptions = new com.aspose.imaging.imageoptions.JpegOptions();
        saveOptions.setColorType(com.aspose.imaging.fileformats.jpeg.JpegCompressionColorMode.Cmyk);

        // Использовать пользовательские ICC‑профили
        saveOptions.setRgbColorProfile(new com.aspose.imaging.sources.StreamSource(rgbProfileStream));
        saveOptions.setCmykColorProfile(new com.aspose.imaging.sources.StreamSource(cmykProfileStream));

        image.save(dir + "output.cmyk.jpg", saveOptions);
    } finally {
        rgbProfileStream.close();
        cmykProfileStream.close();
    }
} finally {
    image.dispose();
}

// Загрузить CMYK JPEG и сохранить его в PNG
com.aspose.imaging.fileformats.jpeg.JpegImage jpegImage = (com.aspose.imaging.fileformats.jpeg.JpegImage) com.aspose.imaging.Image.load(dir + "output.cmyk.jpg");
try {
    java.io.InputStream rgbProfileStream = new java.io.FileInputStream(dir + "eciRGB_v2.icc");
    java.io.InputStream cmykProfileStream = new java.io.FileInputStream(dir + "ISOcoated_v2_FullGamut4.icc");
    try {
        // Использовать пользовательские ICC‑профили
        jpegImage.setRgbColorProfile(new com.aspose.imaging.sources.StreamSource(rgbProfileStream));
        jpegImage.setCmykColorProfile(new com.aspose.imaging.sources.StreamSource(cmykProfileStream));

        com.aspose.imaging.imageoptions.PngOptions saveOptions = new com.aspose.imaging.imageoptions.PngOptions();
        jpegImage.save(dir + "output.rgb.png", saveOptions);
    } finally {
        rgbProfileStream.close();
        cmykProfileStream.close();
    }
} finally {
    jpegImage.dispose();
}

getJpegLsAllowedLossyError()

public int getJpegLsAllowedLossyError()

Получает границу различий JPEG‑LS для почти без потерь кодирования (параметр NEAR из спецификации JPEG‑LS).

Returns: int

setJpegLsAllowedLossyError(int value)

public void setJpegLsAllowedLossyError(int value)

Устанавливает границу различий JPEG‑LS для почти без потерь кодирования (параметр NEAR из спецификации JPEG‑LS).

Parameters:

ПараметрТипОписание
valueint

getJpegLsInterleaveMode()

public int getJpegLsInterleaveMode()

Получает режим чередования JPEG‑LS.

Returns: int

setJpegLsInterleaveMode(int value)

public void setJpegLsInterleaveMode(int value)

Устанавливает режим чередования JPEG‑LS.

Parameters:

ПараметрТипОписание
valueint

getJpegLsPreset()

public JpegLsPresetCodingParameters getJpegLsPreset()

Получает предустановленные параметры JPEG‑LS.

Returns: JpegLsPresetCodingParameters

setJpegLsPreset(JpegLsPresetCodingParameters value)

public void setJpegLsPreset(JpegLsPresetCodingParameters value)

Устанавливает предустановленные параметры JPEG-LS.

Parameters:

ПараметрТипОписание
valueJpegLsPresetCodingParameters

getHorizontalSampling()

public byte[] getHorizontalSampling()

Получает горизонтальные субдискретизации для каждого компонента.

Returns: byte[]

setHorizontalSampling(byte[] value)

public void setHorizontalSampling(byte[] value)

Устанавливает горизонтальные субдискретизации для каждого компонента.

Parameters:

ПараметрТипОписание
valuebyte[]

getVerticalSampling()

public byte[] getVerticalSampling()

Получает вертикальные субдискретизации для каждого компонента.

Returns: byte[]

setVerticalSampling(byte[] value)

public void setVerticalSampling(byte[] value)

Устанавливает вертикальные субдискретизации для каждого компонента.

Parameters:

ПараметрТипОписание
valuebyte[]

getSampleRoundingMode()

public int getSampleRoundingMode()

Получает режим округления образца для приведения 8‑битного значения к n‑битному значению. P:JpegOptions.BitsPerChannel

Returns: int

setSampleRoundingMode(int value)

public void setSampleRoundingMode(int value)

Устанавливает режим округления образца для приведения 8‑битного значения к n‑битному значению. P:JpegOptions.BitsPerChannel

Parameters:

ПараметрТипОписание
valueint

getPreblendAlphaIfPresent()

public boolean getPreblendAlphaIfPresent()

Получает значение, указывающее, следует ли смешивать красные, зеленые и синие компоненты с фоновым цветом, если присутствует альфа‑канал.

Returns: boolean

setPreblendAlphaIfPresent(boolean value)

public void setPreblendAlphaIfPresent(boolean value)

Устанавливает значение, указывающее, следует ли смешивать красные, зеленые и синие компоненты с фоновым цветом, если присутствует альфа‑канал.

Parameters:

ПараметрТипОписание
valueboolean

getResolutionUnit()

public final byte getResolutionUnit()

Получает единицу измерения разрешения.

Returns: byte — единица разрешения.

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

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

// Создайте JPEG‑изображение размером 100×100 пикселей.
// Используйте дополнительные параметры, чтобы указать требуемые параметры изображения.
com.aspose.imaging.imageoptions.JpegOptions createOptions = new com.aspose.imaging.imageoptions.JpegOptions();

// Количество бит на канал равно 8, 8, 8 для компонентов Y, Cr, Cb соответственно.
createOptions.setBitsPerChannel((byte) 8);

// Установите прогрессивный тип сжатия.
createOptions.setCompressionType(com.aspose.imaging.fileformats.jpeg.JpegCompressionMode.Progressive);

// Установите качество изображения. Это значение от 1 до 100.
createOptions.setQuality(100);

// Установите горизонтальное/вертикальное разрешение в 96 точек на дюйм.
createOptions.setResolutionSettings(new com.aspose.imaging.ResolutionSetting(96.0, 96.0));
createOptions.setResolutionUnit(com.aspose.imaging.ResolutionUnit.Inch);

// Это стандартный параметр для JPEG‑изображений.
// Два хрома‑компонента (Cb и Cr) могут быть уменьшены по пропускной способности, субдискретизированы, сжаты.
createOptions.setColorType(com.aspose.imaging.fileformats.jpeg.JpegCompressionColorMode.YCbCr);

com.aspose.imaging.fileformats.jpeg.JpegImage jpegImage = new com.aspose.imaging.fileformats.jpeg.JpegImage(createOptions, 100, 100);
try {
    com.aspose.imaging.Graphics graphics = new com.aspose.imaging.Graphics(jpegImage);

    com.aspose.imaging.brushes.LinearGradientBrush gradientBrush = new com.aspose.imaging.brushes.LinearGradientBrush(
            new com.aspose.imaging.Point(0, 0),
            new com.aspose.imaging.Point(jpegImage.getWidth(), jpegImage.getHeight()),
            com.aspose.imaging.Color.getYellow(),
            com.aspose.imaging.Color.getBlue());

    // Заполните изображение градиентом оттенков серого
    graphics.fillRectangle(gradientBrush, jpegImage.getBounds());

    // Сохранить в файл.
    jpegImage.save(dir + "output.explicitoptions.jpg");
} finally {
    jpegImage.dispose();
}

setResolutionUnit(byte value)

public final void setResolutionUnit(byte value)

Устанавливает единицу измерения разрешения.

Parameters:

ПараметрТипОписание
valuebyteединица разрешения.

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

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

// Загрузите BMP‑изображение из файла.
com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.bmp");
try {
    // Выполните некоторую обработку изображения.

    // Используйте дополнительные параметры, чтобы указать требуемые параметры изображения.
    com.aspose.imaging.imageoptions.JpegOptions saveOptions = new com.aspose.imaging.imageoptions.JpegOptions();

    // Количество бит на канал равно 8.
    // Когда используется палитра, индекс цвета сохраняется в данных изображения вместо самого цвета.
    saveOptions.setBitsPerChannel((byte) 8);

    // Установите прогрессивный тип сжатия.
    saveOptions.setCompressionType(com.aspose.imaging.fileformats.jpeg.JpegCompressionMode.Progressive);

    // Установите качество изображения. Это значение от 1 до 100.
    saveOptions.setQuality(100);

    // Установите горизонтальное/вертикальное разрешение в 96 точек на дюйм.
    saveOptions.setResolutionSettings(new com.aspose.imaging.ResolutionSetting(96.0, 96.0));
    saveOptions.setResolutionUnit(com.aspose.imaging.ResolutionUnit.Inch);

    // Если исходное изображение цветное, оно будет преобразовано в градации серого.
    saveOptions.setColorType(com.aspose.imaging.fileformats.jpeg.JpegCompressionColorMode.Grayscale);

    // Используйте палитру, чтобы уменьшить размер вывода.
    saveOptions.setPalette(com.aspose.imaging.ColorPaletteHelper.create8BitGrayscale(false));

    image.save(dir + "sample.palettized.jpg", saveOptions);
} finally {
    image.dispose();
}