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:
| Параметр | Тип | Описание |
|---|---|---|
| jpegOptions | JpegOptions | Параметры JPEG. |
getDefaultMemoryAllocationLimit()
public int getDefaultMemoryAllocationLimit()
Получает значение предела выделения памяти по умолчанию.
Returns: int — предел выделения памяти по умолчанию.
setDefaultMemoryAllocationLimit(int value)
public void setDefaultMemoryAllocationLimit(int value)
Устанавливает предельный размер выделения памяти по умолчанию.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| value | int | Предел выделения памяти по умолчанию. |
getJfif()
public JFIFData getJfif()
Получает jfif.
Returns: JFIFData
setJfif(JFIFData value)
public void setJfif(JFIFData value)
Устанавливает jfif.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| value | JFIFData |
getComment()
public String getComment()
Получает комментарий JPEG‑файла.
Returns: java.lang.String
setComment(String value)
public void setComment(String value)
Устанавливает комментарий JPEG‑файла.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| value | java.lang.String |
getExifData()
public ExifData getExifData()
Получает контейнер данных Exif.
Returns: ExifData - Exif data container.
setExifData(ExifData value)
public final void setExifData(ExifData value)
Устанавливает данные Exif.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| value | ExifData | Данные Exif. |
getJpegExifData()
public final JpegExifData getJpegExifData()
Получить контейнер данных Exif.
Returns: JpegExifData - Exif data container.
setJpegExifData(JpegExifData value)
public void setJpegExifData(JpegExifData value)
Получить или установить контейнер данных Exif
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| value | JpegExifData |
getCompressionType()
public int getCompressionType()
Получает тип сжатия.
Returns: int
setCompressionType(int value)
public void setCompressionType(int value)
Задает тип сжатия.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| value | 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();
}
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:
| Параметр | Тип | Описание |
|---|---|---|
| value | int |
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:
| Параметр | Тип | Описание |
|---|---|---|
| value | 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();
}
getQuality()
public int getQuality()
Получает качество изображения.
Returns: int
setQuality(int value)
public void setQuality(int value)
Устанавливает качество изображения.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| value | 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();
}
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:
| Параметр | Тип | Описание |
|---|---|---|
| value | RdOptimizerSettings | Настройки оптимизатора RD. |
getRgbColorProfile()
public StreamSource getRgbColorProfile()
Целевой профиль цвета RGB для CMYK JPEG‑изображений. Используется при сохранении изображений. Должен использоваться вместе с CMYKColorProfile для корректного преобразования цветов.
Returns: StreamSource
setRgbColorProfile(StreamSource value)
public void setRgbColorProfile(StreamSource value)
Целевой профиль цвета RGB для CMYK JPEG‑изображений. Используется при сохранении изображений. Должен использоваться вместе с CMYKColorProfile для корректного преобразования цветов.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| value | StreamSource |
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:
| Параметр | Тип | Описание |
|---|---|---|
| value | StreamSource |
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:
| Параметр | Тип | Описание |
|---|---|---|
| value | int |
getJpegLsInterleaveMode()
public int getJpegLsInterleaveMode()
Получает режим чередования JPEG‑LS.
Returns: int
setJpegLsInterleaveMode(int value)
public void setJpegLsInterleaveMode(int value)
Устанавливает режим чередования JPEG‑LS.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| value | int |
getJpegLsPreset()
public JpegLsPresetCodingParameters getJpegLsPreset()
Получает предустановленные параметры JPEG‑LS.
Returns: JpegLsPresetCodingParameters
setJpegLsPreset(JpegLsPresetCodingParameters value)
public void setJpegLsPreset(JpegLsPresetCodingParameters value)
Устанавливает предустановленные параметры JPEG-LS.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| value | JpegLsPresetCodingParameters |
getHorizontalSampling()
public byte[] getHorizontalSampling()
Получает горизонтальные субдискретизации для каждого компонента.
Returns: byte[]
setHorizontalSampling(byte[] value)
public void setHorizontalSampling(byte[] value)
Устанавливает горизонтальные субдискретизации для каждого компонента.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| value | byte[] |
getVerticalSampling()
public byte[] getVerticalSampling()
Получает вертикальные субдискретизации для каждого компонента.
Returns: byte[]
setVerticalSampling(byte[] value)
public void setVerticalSampling(byte[] value)
Устанавливает вертикальные субдискретизации для каждого компонента.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| value | byte[] |
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:
| Параметр | Тип | Описание |
|---|---|---|
| value | int |
getPreblendAlphaIfPresent()
public boolean getPreblendAlphaIfPresent()
Получает значение, указывающее, следует ли смешивать красные, зеленые и синие компоненты с фоновым цветом, если присутствует альфа‑канал.
Returns: boolean
setPreblendAlphaIfPresent(boolean value)
public void setPreblendAlphaIfPresent(boolean value)
Устанавливает значение, указывающее, следует ли смешивать красные, зеленые и синие компоненты с фоновым цветом, если присутствует альфа‑канал.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| value | boolean |
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:
| Параметр | Тип | Описание |
|---|---|---|
| value | byte | единица разрешения. |
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();
}