Image

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

All Implemented Interfaces: com.aspose.imaging.IObjectWithBounds, com.aspose.internal.progressmanagement.IProgressInformer, com.aspose.internal.progressmanagement.IProgressEventHandler, com.aspose.imaging.IMetadataContainer

public abstract class Image extends DataStreamSupporter implements IObjectWithBounds, IProgressInformer, IProgressEventHandler, IMetadataContainer

Изображение является базовым классом для всех типов изображений.

Методы

МетодОписание
canLoad(String filePath)Определяет, можно ли загрузить изображение из указанного пути к файлу.
canLoad(String filePath, LoadOptions loadOptions)Определяет, можно ли загрузить изображение из указанного пути к файлу и, при желании, используя указанные параметры открытия.
canLoad(InputStream stream)Определяет, можно ли загрузить изображение из указанного потока.
canLoad(InputStream stream, LoadOptions loadOptions)Определяет, можно ли загрузить изображение из указанного потока и, при желании, используя указанные loadOptions.
create(ImageOptionsBase imageOptions, int width, int height)Создаёт новое изображение, используя указанные параметры создания.
create(ImageOptionsBase imageOptions, int width, int height, int[] pixels)Создаёт экземпляр RasterImage из предоставленного массива пикселей.
create(Image[] images)Создаёт новое изображение, используя указанные изображения в качестве страниц
create(MultipageCreateOptions multipageCreateOptions)Создаёт указанные параметры создания многостраничного изображения.
create(String[] files, boolean throwExceptionOnLoadError)Создаёт многостраничное изображение, содержащее указанные файлы.
create(String[] files)Создаёт многостраничное изображение, содержащее указанные файлы.
create(Image[] images, boolean disposeImages)Создаёт новое изображение, используя указанные изображения в качестве страниц.
getFileFormat(String filePath)Получает формат файла.
load(String filePath, LoadOptions loadOptions)Загружает новое изображение из указанного пути к файлу или URL.
load(String filePath)Загружает новое изображение из указанного пути к файлу или URL.
load(RandomAccessFile file, LoadOptions loadOptions)Загружает новое изображение из указанного потока.
load(RandomAccessFile file)Загружает новое изображение из указанного потока.
load(InputStream stream, LoadOptions loadOptions)Загружает новое изображение из указанного потока.
load(InputStream stream)Загружает новое изображение из указанного потока.
getFileFormat(InputStream stream)Получает формат файла.
getFittingRectangle(Rectangle rectangle, int width, int height)Получает прямоугольник, который вписывается в текущее изображение.
getFittingRectangle(Rectangle rectangle, int[] pixels, int width, int height)Получает прямоугольник, который вписывается в текущее изображение.
getProportionalWidth(int width, int height, int newHeight)Получает пропорциональную ширину.
getProportionalHeight(int width, int height, int newWidth)Получает пропорциональную высоту.
removeMetadata()Удаляет метаданные.
trySetMetadata(IImageMetadataFormat metadata)Пытается установить экземпляр metadata, если этот объект Image поддерживает и реализует тип IImageMetadataFormat.
getBitsPerPixel()Получает количество бит на пиксель изображения.
getBounds()Получает границы изображения.
getContainer()Получает контейнер Image.
getPalette()Получает цветовую палитру.
setPalette(IColorPalette value)Устанавливает цветовую палитру.
isUsePalette()Получает значение, указывающее, используется ли палитра изображения.
getSize()Получает размер изображения.
getInterruptMonitor()Получает монитор прерываний.
setInterruptMonitor(InterruptMonitor value)Устанавливает монитор прерываний.
getBufferSizeHint()Получает подсказку о размере буфера, определяющую максимальный допустимый размер для всех внутренних буферов.
setBufferSizeHint(int value)Устанавливает подсказку о размере буфера, определяющую максимальный допустимый размер для всех внутренних буферов.
isAutoAdjustPalette()Получает значение, указывающее, включена ли автоматическая настройка палитры.
setAutoAdjustPalette(boolean value)Устанавливает значение, указывающее, включена ли автоматическая настройка палитры.
hasBackgroundColor()Получает значение, указывающее, имеет ли изображение фоновой цвет.
getFileFormat()Легко получить значение формата файла с помощью этого удобного свойства.
getBackgroundColor()Получает или задает значение фонового цвета.
setBackgroundColor(boolean value)Получает или задает значение, указывающее, имеет ли изображение фоновой цвет.
setBackgroundColor(Color value)Получает или задает значение фонового цвета.
getMetadata()Получает метаданные изображения.
getExifData()Получает данные Exif.
setExifData(ExifData value)Устанавливает данные Exif.
getXmpData()Получает данные Xmp.
setXmpData(XmpPacketWrapper value)Устанавливает данные Xmp.
getIProgressEventHandler()Получает информацию обработчика события прогресса.
getProgressEventHandlerInfo()Получает информацию обработчика события прогресса.
canSave(ImageOptionsBase options)Определяет, может ли изображение быть сохранено в указанный формат файла, представленный переданными параметрами сохранения.
resize(int newWidth, int newHeight)Изменяет размер изображения.
resize(int newWidth, int newHeight, int resizeType)Изменяет размер изображения.
resize(int newWidth, int newHeight, ImageResizeSettings settings)Изменяет размер изображения.
getDefaultOptions(Object[] args)Получает параметры по умолчанию.
getOriginalOptions()Получает параметры, основанные на настройках оригинального файла.
resizeWidthProportionally(int newWidth)Изменяет ширину пропорционально.
resizeHeightProportionally(int newHeight)Изменяет высоту пропорционально.
resizeWidthProportionally(int newWidth, int resizeType)Изменяет ширину пропорционально.
resizeHeightProportionally(int newHeight, int resizeType)Изменяет высоту пропорционально.
resizeWidthProportionally(int newWidth, ImageResizeSettings settings)Изменяет ширину пропорционально.
resizeHeightProportionally(int newHeight, ImageResizeSettings settings)Изменяет высоту пропорционально.
rotateFlip(int rotateFlipType)Поворачивает, отражает или одновременно поворачивает и отражает изображение.
rotate(float angle)Поворачивает изображение вокруг центра.
crop(Rectangle rectangle)Обрезает указанный прямоугольник.
crop(int leftShift, int rightShift, int topShift, int bottomShift)Обрезает изображение со сдвигами.
save()Сохраняет данные изображения в базовый поток.
save(String filePath)Сохраняет изображение в указанное расположение файла.
save(String filePath, ImageOptionsBase options)Сохраняет данные объекта в указанное расположение файла в указанном формате файла согласно параметрам сохранения.
save(String filePath, ImageOptionsBase options, Rectangle boundsRectangle)Сохраняет данные объекта в указанное расположение файла в указанном формате файла согласно параметрам сохранения.
save(RandomAccessFile file, ImageOptionsBase options)Сохраняет данные объекта в указанное расположение файла в указанном формате файла согласно параметрам сохранения.
save(RandomAccessFile file, ImageOptionsBase optionsBase, Rectangle boundsRectangle)Сохраняет данные изображения в указанный поток в указанном формате файла согласно параметрам сохранения.
save(OutputStream stream, ImageOptionsBase optionsBase)Сохраняет данные изображения в указанный поток в указанном формате файла согласно параметрам сохранения.
save(OutputStream stream, ImageOptionsBase optionsBase, Rectangle boundsRectangle)Сохраняет данные изображения в указанный поток в указанном формате файла согласно параметрам сохранения.
setPalette(IColorPalette palette, boolean updateColors)Устанавливает палитру изображения.
getSerializedStream(ImageOptionsBase imageOptions, Rectangle clippingRectangle, int[] pageNumber)Преобразует в aps.

Example: This example creates a new Image file at some disk location as specified by Source property of the BmpOptions instance.

В этом примере создаётся новый файл Image в некотором расположении на диске, указанном свойством Source экземпляра BmpOptions. Перед созданием фактического изображения устанавливаются несколько свойств экземпляра BmpOptions. Особенно свойство Source, которое в данном случае указывает на реальное расположение на диске.

// Создайте экземпляр BmpOptions и задайте его различные свойства
com.aspose.imaging.imageoptions.BmpOptions bmpOptions = new com.aspose.imaging.imageoptions.BmpOptions();
bmpOptions.setBitsPerPixel(24);

// Создайте экземпляр FileCreateSource и назначьте его в качестве Source для экземпляра BmpOptions
// Второй логический параметр определяет, является ли создаваемый файл временным (IsTemporal) или нет
bmpOptions.setSource(new com.aspose.imaging.sources.FileCreateSource("C:\\temp\\sample.bmp", false));

// Создайте экземпляр Image и инициализируйте его экземпляром BmpOptions, вызвав метод Create
com.aspose.imaging.Image image = com.aspose.imaging.Image.create(bmpOptions, 500, 500);
try {
    // Выполните некоторую обработку изображения

    // Сохраните все изменения
    image.save();
} finally {
    image.dispose();
}

Example: Resize image using specific Resize Type.

try (Image image = Image.load("Photo.jpg"))
{
    image.resize(640, 480, ResizeType.CatmullRom);
    image.save("ResizedPhoto.jpg");

    image.resize(1024, 768, ResizeType.CubicConvolution);
    image.save("ResizedPhoto2.jpg");

    ImageResizeSettings resizeSettings = new ImageResizeSettings();
    resizeSettings.setMode(ResizeType.CubicBSpline);
    resizeSettings.setFilterType(ImageFilterType.SmallRectangular);

    image.resize(800, 800, resizeSettings);
    image.save("ResizedPhoto3.jpg");
}

Example: Determine if the palette is used by the image.

try (Image image = Image.load("Sample.bmp"))
{
    if (image.isUsePalette())
    {
        System.out.println("The palette is used by the image");
    }
}

canLoad(String filePath)

public static boolean canLoad(String filePath)

Определяет, можно ли загрузить изображение из указанного пути к файлу.

Parameters:

ПараметрТипОписание
filePathjava.lang.StringПуть к файлу.

Returns: логический - true, если изображение может быть загружено из указанного файла; иначе false.

Example: This example determines whether image can be loaded from a file.


// Используйте абсолютный путь к файлу
boolean canLoad = com.aspose.imaging.Image.canLoad("c:\\temp\\sample.gif");

canLoad(String filePath, LoadOptions loadOptions)

public static boolean canLoad(String filePath, LoadOptions loadOptions)

Определяет, можно ли загрузить изображение из указанного пути к файлу и, при желании, используя указанные параметры открытия.

Parameters:

ПараметрТипОписание
filePathjava.lang.StringПуть к файлу.
loadOptionsLoadOptionsПараметры загрузки.

Returns: логический - true, если изображение может быть загружено из указанного файла; иначе false.

canLoad(InputStream stream)

public static boolean canLoad(InputStream stream)

Определяет, можно ли загрузить изображение из указанного потока.

Parameters:

ПараметрТипОписание
streamjava.io.InputStreamПоток, из которого загружать.

Returns: логический - true, если изображение может быть загружено из указанного потока; иначе false.

Example: This example determines whether image can be loaded from a file stream.

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

boolean canLoad;

// Используйте файловый поток
java.io.InputStream stream = new java.io.FileInputStream(dir + "sample.bmp");
try {
    canLoad = com.aspose.imaging.Image.canLoad(stream);
} finally {
    stream.close();
}

// Следующие данные не являются действительным потоком изображения, поэтому CanLoad возвращает false.
byte[] imageData = new byte[]{0, 0, 0, 0, 0, 0, 0, 0};
stream = new java.io.ByteArrayInputStream(imageData);
{
    canLoad = com.aspose.imaging.Image.canLoad(stream);
}

canLoad(InputStream stream, LoadOptions loadOptions)

public static boolean canLoad(InputStream stream, LoadOptions loadOptions)

Определяет, можно ли загрузить изображение из указанного потока и, при желании, используя указанные loadOptions.

Parameters:

ПараметрТипОписание
streamjava.io.InputStreamПоток, из которого загружать.
loadOptionsLoadOptionsПараметры загрузки.

Returns: логический - true, если изображение может быть загружено из указанного потока; иначе false.

create(ImageOptionsBase imageOptions, int width, int height)

public static Image create(ImageOptionsBase imageOptions, int width, int height)

Создаёт новое изображение, используя указанные параметры создания.

Parameters:

ПараметрТипОписание
imageOptionsImageOptionsBaseПараметры изображения.
widthintШирина.
heightintВысота.

Returns: Image - The newly created image.

Example: This example creates a new Image file at some disk location as specified by Source property of the BmpOptions instance. В этом примере создаётся новый файл Image в некотором расположении на диске, указанном свойством Source экземпляра BmpOptions. Перед созданием фактического изображения устанавливаются несколько свойств экземпляра BmpOptions. Особенно свойство Source, которое в данном случае указывает на реальное расположение на диске.

// Создайте экземпляр BmpOptions и задайте его различные свойства
com.aspose.imaging.imageoptions.BmpOptions bmpOptions = new com.aspose.imaging.imageoptions.BmpOptions();
bmpOptions.setBitsPerPixel(24);

// Создайте экземпляр FileCreateSource и назначьте его в качестве Source для экземпляра BmpOptions
// Второй логический параметр определяет, является ли создаваемый файл временным (IsTemporal) или нет
bmpOptions.setSource(new com.aspose.imaging.sources.FileCreateSource("C:\\temp\\sample.bmp", false));

// Создайте экземпляр Image и инициализируйте его экземпляром BmpOptions, вызвав метод Create
com.aspose.imaging.Image image = com.aspose.imaging.Image.create(bmpOptions, 500, 500);
try {
    // Выполните некоторую обработку изображения

    // Сохраните все изменения
    image.save();
} finally {
    image.dispose();
}

create(ImageOptionsBase imageOptions, int width, int height, int[] pixels)

public static Image create(ImageOptionsBase imageOptions, int width, int height, int[] pixels)

Создаёт экземпляр RasterImage из предоставленного массива пикселей. Проверяет, что указанные ширина и высота соответствуют размерам данных пикселей. Этот метод может использоваться только когда библиотека находится в лицензированном режиме.

Parameters:

ПараметрТипОписание
imageOptionsImageOptionsBaseПараметры, используемые для создания RasterImage.
widthintШирина RasterImage.
heightintВысота RasterImage.
пикселиint[]Массив значений пикселей, используемый для заполнения изображения.

Returns: Image - A RasterImage populated with the provided pixel data.

create(Image[] images)

public static Image create(Image[] images)

Создаёт новое изображение, используя указанные изображения в качестве страниц

Parameters:

ПараметрТипОписание
imagesImage[]Изображения.

Returns: Image - The Image as IMultipageImage

create(MultipageCreateOptions multipageCreateOptions)

public static Image create(MultipageCreateOptions multipageCreateOptions)

Создаёт указанные параметры создания многостраничного изображения.

Parameters:

ПараметрТипОписание
multipageCreateOptionsMultipageCreateOptionsПараметры создания многостраничного изображения.

Returns: Image - The multipage image

create(String[] files, boolean throwExceptionOnLoadError)

public static Image create(String[] files, boolean throwExceptionOnLoadError)

Создаёт многостраничное изображение, содержащее указанные файлы.

Parameters:

ПараметрТипОписание
файлыjava.lang.String[]Файлы.
throwExceptionOnLoadErrorbooleanесли установлено true [выбрасывать исключение при ошибке загрузки].

Returns: Image - The multipage image

create(String[] files)

public static Image create(String[] files)

Создаёт многостраничное изображение, содержащее указанные файлы.

Parameters:

ПараметрТипОписание
файлыjava.lang.String[]Файлы.

Returns: Image - The multipage image

create(Image[] images, boolean disposeImages)

public static Image create(Image[] images, boolean disposeImages)

Создаёт новое изображение, используя указанные изображения в качестве страниц.

Parameters:

ПараметрТипОписание
imagesImage[]Изображения.
disposeImagesbooleanесли установлено true [освобождать изображения].

Returns: Image - The Image as IMultipageImage

getFileFormat(String filePath)

public static long getFileFormat(String filePath)

Получает формат файла.

Parameters:

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

Определённый формат файла не означает, что указанное изображение может быть загружено. Используйте одну из перегрузок метода CanLoad, чтобы определить, может ли файл быть загружен. |

Returns: long - Определённый формат файла.

Example: This example shows how to determine the image format without loading the entire image from a file.

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

// Используйте абсолютный путь к файлу
long format = com.aspose.imaging.Image.getFileFormat(dir + "sample.gif");

// Строковое представление формата файла.
String strFormat;
if (format == com.aspose.imaging.FileFormat.Bmp) {
    strFormat = "BMP";
} else if (format == com.aspose.imaging.FileFormat.Gif) {
    strFormat = "GIF";
} else if (format == com.aspose.imaging.FileFormat.Dicom) {
    strFormat = "DICOM";
} else if (format == com.aspose.imaging.FileFormat.Djvu) {
    strFormat = "DJVU";
} else if (format == com.aspose.imaging.FileFormat.Dng) {
    strFormat = "DNG";
} else if (format == com.aspose.imaging.FileFormat.Png) {
    strFormat = "PNG";
} else if (format == com.aspose.imaging.FileFormat.Jpeg) {
    strFormat = "JPEG";
} else if (format == com.aspose.imaging.FileFormat.Jpeg2000) {
    strFormat = "JPEG2000";
} else if (format == com.aspose.imaging.FileFormat.Psd) {
    strFormat = "PSD";
} else if (format == com.aspose.imaging.FileFormat.Tiff) {
    strFormat = "Tiff";
} else if (format == com.aspose.imaging.FileFormat.Webp) {
    strFormat = "WEBP";
} else if (format == com.aspose.imaging.FileFormat.Cdr) {
    strFormat = "CDR";
} else if (format == com.aspose.imaging.FileFormat.Cmx) {
    strFormat = "CMX";
} else if (format == com.aspose.imaging.FileFormat.Emf) {
    strFormat = "EMF";
} else if (format == com.aspose.imaging.FileFormat.Wmf) {
    strFormat = "WMF";
} else if (format == com.aspose.imaging.FileFormat.Svg) {
    strFormat = "SVG";
} else if (format == com.aspose.imaging.FileFormat.Odg) {
    strFormat = "ODG";
} else if (format == com.aspose.imaging.FileFormat.Eps) {
    strFormat = "EPS";
} else {
    strFormat = "UNDEFINED";
}

System.out.println("The file format is " + strFormat);

load(String filePath, LoadOptions loadOptions)

public static Image load(String filePath, LoadOptions loadOptions)

Загружает новое изображение из указанного пути к файлу или URL. Если filePath является путём к файлу, метод просто открывает файл. Если filePath является URL, метод загружает файл, сохраняет его как временный и открывает.

Parameters:

ПараметрТипОписание
filePathjava.lang.StringПуть к файлу или URL для загрузки изображения.
loadOptionsLoadOptionsПараметры загрузки.

Returns: Image - The loaded image.

load(String filePath)

public static Image load(String filePath)

Загружает новое изображение из указанного пути к файлу или URL. Если filePath является путём к файлу, метод просто открывает файл. Если filePath является URL, метод загружает файл, сохраняет его как временный и открывает.

Parameters:

ПараметрТипОписание
filePathjava.lang.StringПуть к файлу или URL для загрузки изображения.

Returns: Image - The loaded image.

Example: This example demonstrates the loading of an existing Image file into an instance of com. Этот пример демонстрирует загрузку существующего файла Image в экземпляр com.aspose.imaging.Image с использованием указанного пути к файлу.

// Создайте экземпляр Image и инициализируйте его существующим файлом изображения, расположенным на диске.
com.aspose.imaging.Image image = com.aspose.imaging.Image.load("C:\\temp\\sample.bmp");
try {
    // Выполните некоторую обработку изображения.
} finally {
    image.dispose();
}

load(RandomAccessFile file, LoadOptions loadOptions)

public static Image load(RandomAccessFile file, LoadOptions loadOptions)

Загружает новое изображение из указанного потока.

Parameters:

ПараметрТипОписание
файлjava.io.RandomAccessFileФайл для загрузки изображения.
loadOptionsLoadOptionsПараметры загрузки.

Returns: Image - The loaded image.

load(RandomAccessFile file)

public static Image load(RandomAccessFile file)

Загружает новое изображение из указанного потока.

Parameters:

ПараметрТипОписание
файлjava.io.RandomAccessFileФайл для загрузки изображения.

Returns: Image - The loaded image.

load(InputStream stream, LoadOptions loadOptions)

public static Image load(InputStream stream, LoadOptions loadOptions)

Загружает новое изображение из указанного потока.

Parameters:

ПараметрТипОписание
streamjava.io.InputStreamПоток, из которого загружается изображение.
loadOptionsLoadOptionsПараметры загрузки.

Returns: Image - The loaded image.

load(InputStream stream)

public static Image load(InputStream stream)

Загружает новое изображение из указанного потока.

Parameters:

ПараметрТипОписание
streamjava.io.InputStreamПоток, из которого загружается изображение.

Returns: Image - The loaded image.

Example: This example demonstrates the use of InputStream object to load an existing Image file

// Создайте экземпляр FileInputStream
java.io.InputStream stream = new java.io.FileInputStream("C:\\temp\\sample.bmp");
try {
    // Создайте экземпляр класса Image и загрузите существующий файл через объект FileStream, вызвав метод Load
    com.aspose.imaging.Image image = com.aspose.imaging.Image.load(stream);
    try {
        // Выполните некоторую обработку изображения.
    } finally {
        image.dispose();
    }
} finally {
    stream.close();
}

getFileFormat(InputStream stream)

public static long getFileFormat(InputStream stream)

Получает формат файла.

Parameters:

ПараметрТипОписание
streamjava.io.InputStream

Определённый формат файла не означает, что указанное изображение может быть загружено. Используйте одну из перегрузок метода CanLoad, чтобы определить, может ли быть загружен поток. |

Returns: long - Определённый формат файла.

Example: This example shows how to determine the image format without loading the entire image from a file stream.


// Вспомогательный класс, используемый в основном примере ниже.
class Utils {
    // Вспомогательный метод для получения строкового представления формата файла.
    public String getFileFormatString(long fileFormat) {
        if (fileFormat == com.aspose.imaging.FileFormat.Bmp) {
            return "BMP";
        } else if (fileFormat == com.aspose.imaging.FileFormat.Gif) {
            return "GIF";
        } else if (fileFormat == com.aspose.imaging.FileFormat.Dicom) {
            return "DICOM";
        } else if (fileFormat == com.aspose.imaging.FileFormat.Djvu) {
            return "DJVU";
        } else if (fileFormat == com.aspose.imaging.FileFormat.Dng) {
            return "DNG";
        } else if (fileFormat == com.aspose.imaging.FileFormat.Png) {
            return "PNG";
        } else if (fileFormat == com.aspose.imaging.FileFormat.Jpeg) {
            return "JPEG";
        } else if (fileFormat == com.aspose.imaging.FileFormat.Jpeg2000) {
            return "JPEG2000";
        } else if (fileFormat == com.aspose.imaging.FileFormat.Psd) {
            return "PSD";
        } else if (fileFormat == com.aspose.imaging.FileFormat.Tiff) {
            return "Tiff";
        } else if (fileFormat == com.aspose.imaging.FileFormat.Webp) {
            return "WEBP";
        } else if (fileFormat == com.aspose.imaging.FileFormat.Cdr) {
            return "CDR";
        } else if (fileFormat == com.aspose.imaging.FileFormat.Cmx) {
            return "CMX";
        } else if (fileFormat == com.aspose.imaging.FileFormat.Emf) {
            return "EMF";
        } else if (fileFormat == com.aspose.imaging.FileFormat.Wmf) {
            return "WMF";
        } else if (fileFormat == com.aspose.imaging.FileFormat.Svg) {
            return "SVG";
        } else if (fileFormat == com.aspose.imaging.FileFormat.Odg) {
            return "ODG";
        } else if (fileFormat == com.aspose.imaging.FileFormat.Eps) {
            return "EPS";
        } else {
            return "UNDEFINED";
        }
    }
}

// Вот основной пример
Utils utils = new Utils();

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

// Используйте файловый поток
java.io.InputStream stream = new java.io.FileInputStream(dir + "sample.bmp");
{
    long format = com.aspose.imaging.Image.getFileFormat(stream);
    System.out.println("The file format is " + utils.getFileFormatString(format));
}

// Следующие данные не являются действительным потоком изображения, поэтому GetFileFormat возвращает FileFormat.Undefined.
byte[] imageData = new byte[]{0, 0, 0, 0, 0, 0, 0, 0};
stream = new java.io.ByteArrayInputStream(imageData);
{
    long format = com.aspose.imaging.Image.getFileFormat(stream);
    System.out.println("The file format is " + utils.getFileFormatString(format));
}

// Вывод может выглядеть так:
// Формат файла — BMP
// Формат файла — UNDEFINED

getFittingRectangle(Rectangle rectangle, int width, int height)

public static Rectangle getFittingRectangle(Rectangle rectangle, int width, int height)

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

Parameters:

ПараметрТипОписание
rectangleRectangleПрямоугольник, для получения подходящего прямоугольника.
widthintШирина объекта.
heightintВысота объекта.

Returns: Rectangle - The fitting rectangle or exception if no fitting rectangle can be found.

getFittingRectangle(Rectangle rectangle, int[] pixels, int width, int height)

public static Rectangle getFittingRectangle(Rectangle rectangle, int[] pixels, int width, int height)

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

Parameters:

ПараметрТипОписание
rectangleRectangleПрямоугольник, для получения подходящего прямоугольника.
пикселиint[]32-битные пиксели ARGB.
widthintШирина объекта.
heightintВысота объекта.

Returns: Rectangle - The fitting rectangle or exception if no fitting rectangle can be found.

getProportionalWidth(int width, int height, int newHeight)

public static int getProportionalWidth(int width, int height, int newHeight)

Получает пропорциональную ширину.

Parameters:

ПараметрТипОписание
widthintШирина.
heightintВысота.
newHeightintНовая высота.

Returns: int — Пропорциональная ширина.

getProportionalHeight(int width, int height, int newWidth)

public static int getProportionalHeight(int width, int height, int newWidth)

Получает пропорциональную высоту.

Parameters:

ПараметрТипОписание
widthintШирина.
heightintВысота.
newWidthintНовая ширина.

Returns: int — Пропорциональная высота.

removeMetadata()

public void removeMetadata()

Удаляет метаданные.

trySetMetadata(IImageMetadataFormat metadata)

public boolean trySetMetadata(IImageMetadataFormat metadata)

Пытается установить экземпляр metadata, если этот объект Image поддерживает и реализует тип IImageMetadataFormat.

Parameters:

ПараметрТипОписание
metadataIImageMetadataFormatМетаданные.

Returns: boolean - True, если экземпляр Image поддерживает и реализует тип IImageMetadataFormat; иначе false.

getBitsPerPixel()

public abstract int getBitsPerPixel()

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

Returns: int — Количество бит на пиксель изображения.

getBounds()

public Rectangle getBounds()

Получает границы изображения.

Returns: Rectangle - The image bounds.

getContainer()

public Image getContainer()

Получает контейнер Image.

Значение: контейнер Image.

Если это свойство не равно null, это указывает, что изображение содержится внутри другого изображения.

Returns: Image

getPalette()

public IColorPalette getPalette()

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

Returns: IColorPalette - The color palette.

setPalette(IColorPalette value)

public void setPalette(IColorPalette value)

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

Parameters:

ПараметрТипОписание
valueIColorPaletteЦветовая палитра.

isUsePalette()

public boolean isUsePalette()

Получает значение, указывающее, используется ли палитра изображения.

Значение: true, если палитра используется в изображении; иначе false.

Returns: boolean — значение, указывающее, используется ли палитра изображения.

Example: Determine if the palette is used by the image.

try (Image image = Image.load("Sample.bmp"))
{
    if (image.isUsePalette())
    {
        System.out.println("The palette is used by the image");
    }
}

getSize()

public Size getSize()

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

Returns: Size - The image size.

Example: This example shows how to load a DJVU image from a file stream and print information about the pages.

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

// Загрузите изображение DJVU из файлового потока.
java.io.FileInputStream stream = new java.io.FileInputStream(dir + "sample.djvu");
try {
    com.aspose.imaging.fileformats.djvu.DjvuImage djvuImage = new com.aspose.imaging.fileformats.djvu.DjvuImage(stream);
    try {
        System.out.println("The total number of pages: " + djvuImage.getPages().length);
        System.out.println("The active page number:    " + djvuImage.getActivePage().getPageNumber());
        System.out.println("The first page number:     " + djvuImage.getFirstPage().getPageNumber());
        System.out.println("The last page number:      " + djvuImage.getLastPage().getPageNumber());

        for (com.aspose.imaging.fileformats.djvu.DjvuPage djvuPage : djvuImage.getPages()) {
            System.out.println("--------------------------------------------------");
            System.out.println("Page number:     " + djvuPage.getPageNumber());
            System.out.println("Page size:       " + djvuPage.getSize());
            System.out.println("Page raw format: " + djvuPage.getRawDataFormat());
        }
    } finally {
        djvuImage.dispose();
    }
} finally {
    stream.close();
}

//Вывод может выглядеть так:
//Общее количество страниц: 2
//Номер активной страницы:    1
//Номер первой страницы:     1
//Номер последней страницы:      2
//--------------------------------------------------
//Номер страницы:     1
//Размер страницы:       { Width = 2481, Height = 3508}
//Исходный формат страницы: RgbIndexed1Bpp, использовано каналов: 1
//--------------------------------------------------
//Номер страницы:     2
//Размер страницы:       { Width = 2481, Height = 3508}
//Исходный формат страницы: RgbIndexed1Bpp, использовано каналов: 1

getInterruptMonitor()

public InterruptMonitor getInterruptMonitor()

Получает монитор прерываний.

Returns: InterruptMonitor - the interrupt monitor.

setInterruptMonitor(InterruptMonitor value)

public void setInterruptMonitor(InterruptMonitor value)

Устанавливает монитор прерываний.

Parameters:

ПараметрТипОписание
valueInterruptMonitorмонитор прерываний.

getBufferSizeHint()

public final int getBufferSizeHint()

Получает подсказку о размере буфера, определяющую максимальный допустимый размер для всех внутренних буферов.

Значение: Подсказка размера буфера в мегабайтах. Неположительное значение означает отсутствие ограничения памяти для внутренних буферов

Returns: int — подсказка размера буфера, определяющая максимальный допустимый размер для всех внутренних буферов.

setBufferSizeHint(int value)

public final void setBufferSizeHint(int value)

Устанавливает подсказку о размере буфера, определяющую максимальный допустимый размер для всех внутренних буферов.

Значение: Подсказка размера буфера в мегабайтах. Неположительное значение означает отсутствие ограничения памяти для внутренних буферов

Parameters:

ПараметрТипОписание
valueintподсказка размера буфера, определяющая максимальный допустимый размер для всех внутренних буферов.

isAutoAdjustPalette()

public boolean isAutoAdjustPalette()

Получает значение, указывающее, включена ли автоматическая настройка палитры.

Returns: boolean — true, если включена автоматическая настройка палитры; иначе false.

setAutoAdjustPalette(boolean value)

public void setAutoAdjustPalette(boolean value)

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

Parameters:

ПараметрТипОписание
valuebooleantrue, если включена автоматическая настройка палитры; иначе false.

hasBackgroundColor()

public boolean hasBackgroundColor()

Получает значение, указывающее, имеет ли изображение фоновой цвет.

Returns: boolean

getFileFormat()

public long getFileFormat()

Легко получить значение формата файла с помощью этого удобного свойства. Идеально для разработчиков, которым нужен быстрый доступ к информации о формате файла.

Returns: long

getBackgroundColor()

public Color getBackgroundColor()

Получает или задает значение фонового цвета.

Returns: Color

setBackgroundColor(boolean value)

public void setBackgroundColor(boolean value)

Получает или задает значение, указывающее, имеет ли изображение фоновой цвет.

Parameters:

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

setBackgroundColor(Color value)

public void setBackgroundColor(Color value)

Получает или задает значение фонового цвета.

Parameters:

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

getMetadata()

public ImageMetadata getMetadata()

Получает метаданные изображения.

Returns: ImageMetadata - the image metadata.

getExifData()

public ExifData getExifData()

Получает данные Exif.

Returns: ExifData - the Exif data.

setExifData(ExifData value)

public void setExifData(ExifData value)

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

Parameters:

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

getXmpData()

public final XmpPacketWrapper getXmpData()

Получает данные Xmp.

Returns: XmpPacketWrapper - the Xmp data.

setXmpData(XmpPacketWrapper value)

public final void setXmpData(XmpPacketWrapper value)

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

Parameters:

ПараметрТипОписание
valueXmpPacketWrapperданные Xmp.

getIProgressEventHandler()

public final ProgressEventHandler getIProgressEventHandler()

Получает информацию обработчика события прогресса.

Returns: ProgressEventHandler - the progress event handler information.

getProgressEventHandlerInfo()

public final ProgressEventHandlerInfo getProgressEventHandlerInfo()

Получает информацию обработчика события прогресса.

Значение: Информация обработчика события прогресса.

Returns: ProgressEventHandlerInfo - the progress event handler information.

canSave(ImageOptionsBase options)

public boolean canSave(ImageOptionsBase options)

Определяет, может ли изображение быть сохранено в указанный формат файла, представленный переданными параметрами сохранения.

Parameters:

ПараметрТипОписание
optionsImageOptionsBaseПараметры сохранения для использования.

Returns: boolean — true, если изображение может быть сохранено в указанный формат файла, представленный переданными параметрами сохранения; иначе false.

Example: This example shows how to determine whether image can be saved to the specified file format represented by the passed save options.

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

com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.gif");
try {
    com.aspose.imaging.imageoptions.JpegOptions saveOptions = new com.aspose.imaging.imageoptions.JpegOptions();
    saveOptions.setQuality(50);

    // Определить, может ли изображение быть сохранено в JPEG
    boolean canSave = image.canSave(saveOptions);
} finally {
    image.dispose();
}

resize(int newWidth, int newHeight)

public void resize(int newWidth, int newHeight)

Изменяет размер изображения. По умолчанию используется ResizeType.NearestNeighbourResample.

Parameters:

ПараметрТипОписание
newWidthintНовая ширина.
newHeightintНовая высота.

Example: The following example shows how to resize a metafile (WMF and EMF).

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

String[] files = new String[]{"image3.emf", "image4.wmf"};
for (String fileName : files) {
    String inputFile = baseFolder + fileName;
    String outputFile = baseFolder + "Resize_" + fileName;
    com.aspose.imaging.fileformats.emf.MetaImage image = (com.aspose.imaging.fileformats.emf.MetaImage) com.aspose.imaging.Image.load(inputFile);
    try {
        image.resize(image.getWidth() / 4, image.getHeight() / 4);
        image.save(outputFile);
    } finally {
        image.close();
    }
}

Example: The following example shows how to resize SVG image and save it to PNG.

String dir = "c:\\aspose.imaging\\java\\issues\\1431\\";
String[] fileNames = new String[] {
                "Logotype.svg",
                "sample_car.svg",
                "rg1024_green_grapes.svg",
                "MidMarkerFigure.svg",
                "embeddedFonts.svg"
        };

com.aspose.imaging.PointF[] scales = new com.aspose.imaging.PointF[] {
                new com.aspose.imaging.PointF(0.5f, 0.5f),
                new com.aspose.imaging.PointF(1f, 1f),
                new com.aspose.imaging.PointF(2f, 2f),
                new com.aspose.imaging.PointF(3.5f, 9.2f),
        };

for (String inputFile : fileNames) {
    for (com.aspose.imaging.PointF scale : scales) {
        String outputFile = String.format("%s_%2.2f_%2.2f.png", inputFile, scale.getX(), scale.getY());
        com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + inputFile);
        try {
            image.resize((int) (image.getWidth() * scale.getX()), (int) (image.getHeight() * scale.getY()));
            image.save(dir + outputFile, new com.aspose.imaging.imageoptions.PngOptions());
        }
        finally {
            image.close();
        }
    }
}

resize(int newWidth, int newHeight, int resizeType)

public void resize(int newWidth, int newHeight, int resizeType)

Изменяет размер изображения.

Parameters:

ПараметрТипОписание
newWidthintНовая ширина.
newHeightintНовая высота.
resizeTypeintТип изменения размера.

Example: This example loads an image and resizes it using various resizing methods.

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

com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.gif");
try {
    // Увеличить в 2 раза с использованием ресэмплинга ближайшего соседа.
    image.resize(image.getWidth() * 2, image.getHeight() * 2, com.aspose.imaging.ResizeType.NearestNeighbourResample);
    image.save(dir + "upsample.nearestneighbour.gif");
} finally {
    image.dispose();
}

image = com.aspose.imaging.Image.load(dir + "sample.gif");
try {
    // Уменьшить в 2 раза с использованием ресэмплинга ближайшего соседа.
    image.resize(image.getWidth() / 2, image.getHeight() / 2, com.aspose.imaging.ResizeType.NearestNeighbourResample);
    image.save(dir + "downsample.nearestneighbour.gif");
} finally {
    image.dispose();
}

image = com.aspose.imaging.Image.load(dir + "sample.gif");
try {
    // Увеличить в 2 раза с использованием билинейного ресэмплинга.
    image.resize(image.getWidth() * 2, image.getHeight() * 2, com.aspose.imaging.ResizeType.BilinearResample);
    image.save(dir + "upsample.bilinear.gif");
} finally {
    image.dispose();
}

image = com.aspose.imaging.Image.load(dir + "sample.gif");
try {
    // Уменьшить в 2 раза с использованием билинейного ресэмплинга.
    image.resize(image.getWidth() / 2, image.getHeight() / 2, com.aspose.imaging.ResizeType.BilinearResample);
    image.save(dir + "downsample.bilinear.gif");
} finally {
    image.dispose();
}

Example: This example loads a raster image and resizes it using various resizing methods.

String dir = "c:\\temp\\";
try (com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.gif")) {
    // Увеличить в 2 раза с использованием ресэмплинга ближайшего соседа.
    image.resize(image.getWidth() * 2, image.getHeight() * 2, com.aspose.imaging.ResizeType.NearestNeighbourResample);
    image.save(dir + "upsample.nearestneighbour.gif");
}
            
try (com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.gif")) {
    // Уменьшить в 2 раза с использованием ресэмплинга ближайшего соседа.
    image.resize(image.getWidth() / 2, image.getHeight() / 2, com.aspose.imaging.ResizeType.NearestNeighbourResample);
    image.save(dir + "downsample.nearestneighbour.gif");
}

try (com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.gif")) {
    // Увеличить в 2 раза с использованием билинейного ресэмплинга.
    image.resize(image.getWidth() * 2, image.getHeight() * 2, com.aspose.imaging.ResizeType.BilinearResample);
    image.save(dir + "upsample.bilinear.gif");
}

try (com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.gif")) {
    // Уменьшить в 2 раза с использованием билинейного ресэмплинга.
    image.resize(image.getWidth() / 2, image.getHeight() / 2, com.aspose.imaging.ResizeType.BilinearResample);
    image.save(dir + "downsample.bilinear.gif");
}

Example: This example loads a WMF image and resizes it using various resizing methods.

String dir = "c:\\temp\\";
            
try (com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.wmf")) {
    // Увеличить в 2 раза с использованием ресэмплинга ближайшего соседа.
    image.resize(image.getWidth() * 2, image.getHeight() * 2, com.aspose.imaging.ResizeType.NearestNeighbourResample);
}

try (com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.wmf")) {
    // Уменьшить в 2 раза с использованием ресэмплинга ближайшего соседа.
    image.resize(image.getWidth() / 2, image.getHeight() / 2, com.aspose.imaging.ResizeType.NearestNeighbourResample);
}

try (com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.wmf")) {
    // Увеличить в 2 раза с использованием билинейного ресэмплинга.
    image.resize(image.getWidth() * 2, image.getHeight() * 2, com.aspose.imaging.ResizeType.BilinearResample);
}

try (com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.wmf")) {
    // Уменьшить в 2 раза с использованием билинейного ресэмплинга.
    image.resize(image.getWidth() / 2, image.getHeight() / 2, com.aspose.imaging.ResizeType.BilinearResample);
}

Example: This example loads a multi-page ODG image and resizes it using various resizing methods.

String dir = "c:\\temp\\";
            
try (com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.odg")) {
    // Увеличить в 2 раза с использованием ресэмплинга ближайшего соседа.
    image.resize(image.getWidth() * 2, image.getHeight() * 2, com.aspose.imaging.ResizeType.NearestNeighbourResample);

    // Сохранить в PNG с параметрами по умолчанию.
    image.save(dir + "upsample.nearestneighbour.png", new com.aspose.imaging.imageoptions.PngOptions());
}

try (com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.odg")) {
    // Уменьшить в 2 раза с использованием ресэмплинга ближайшего соседа.
    image.resize(image.getWidth() / 2, image.getHeight() / 2, com.aspose.imaging.ResizeType.NearestNeighbourResample);

    // Сохранить в PNG с параметрами по умолчанию.
    image.save(dir + "downsample.nearestneighbour.png", new com.aspose.imaging.imageoptions.PngOptions());
}

try (com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.odg")) {
    // Увеличить в 2 раза с использованием билинейного ресэмплинга.
    image.resize(image.getWidth() * 2, image.getHeight() * 2, com.aspose.imaging.ResizeType.BilinearResample);

    // Сохранить в PNG с параметрами по умолчанию.
    image.save(dir + "upsample.bilinear.png", new com.aspose.imaging.imageoptions.PngOptions());
}

try (com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.odg")) {
    // Уменьшить в 2 раза с использованием билинейного ресэмплинга.
    image.resize(image.getWidth() / 2, image.getHeight() / 2, com.aspose.imaging.ResizeType.BilinearResample);

    // Сохранить в PNG с параметрами по умолчанию.
    image.save(dir + "downsample.bilinear.png", new com.aspose.imaging.imageoptions.PngOptions());
}

Example: Using a segment mask to speed up the segmentation process

// Параметры экспорта маскирования
com.aspose.imaging.imageoptions.PngOptions exportOptions = new com.aspose.imaging.imageoptions.PngOptions();
exportOptions.setColorType(com.aspose.imaging.fileformats.png.PngColorType.TruecolorWithAlpha);
exportOptions.setSource(new com.aspose.imaging.sources.StreamSource());

com.aspose.imaging.masking.options.MaskingOptions maskingOptions = new com.aspose.imaging.masking.options.MaskingOptions();

// Использовать кластеризацию GraphCut.
maskingOptions.setMethod(com.aspose.imaging.masking.options.SegmentationMethod.GraphCut);
maskingOptions.setDecompose(false);
maskingOptions.setArgs(new com.aspose.imaging.masking.options.AutoMaskingArgs());

// Фоновый цвет будет прозрачным.
maskingOptions.setBackgroundReplacementColor(com.aspose.imaging.Color.getTransparent());
maskingOptions.setExportOptions(exportOptions);

String dir = "c:\\temp\\";
com.aspose.imaging.RasterImage image = (com.aspose.imaging.RasterImage)com.aspose.imaging.Image.load(dir + "BigImage.jpg");
try
{
    com.aspose.imaging.Size imageSize = image.getSize();

    // Уменьшение размера изображения для ускорения процесса сегментации
    image.resizeHeightProportionally(600, com.aspose.imaging.ResizeType.HighQualityResample);

    // Создайте экземпляр класса ImageMasking.
    com.aspose.imaging.masking.ImageMasking masking = new com.aspose.imaging.masking.ImageMasking(image);

    // Разделите исходное изображение на несколько кластеров (сегментов).
    com.aspose.imaging.masking.result.MaskingResult maskingResult = masking.decompose(maskingOptions);
    try
    {
        // Получение маски переднего плана
        com.aspose.imaging.RasterImage foregroundMask = maskingResult.get_Item(1).getMask();
        try
        {
            // Увеличьте размер маски до размера оригинального изображения
            foregroundMask.resize(imageSize.getWidth(), imageSize.getHeight(), com.aspose.imaging.ResizeType.NearestNeighbourResample);

            // Применение маски к оригинальному изображению для получения сегмента переднего плана
            com.aspose.imaging.RasterImage originImage = (com.aspose.imaging.RasterImage)com.aspose.imaging.Image.load(dir + "BigImage.jpg");
            try
            {
                com.aspose.imaging.masking.ImageMasking.applyMask(originImage, foregroundMask, maskingOptions);
                originImage.save(dir + "BigImage_foreground.png", exportOptions);
            }
            finally
            {
                originImage.close();
            }
        }
        finally
        {
            foregroundMask.close();
        }
    }
    finally
    {
        maskingResult.close();
    }
}
finally
{
    image.close();
}

Example: Resize image using specific Resize Type.

try (Image image = Image.load("Photo.jpg"))
{
    image.resize(640, 480, ResizeType.CatmullRom);
    image.save("ResizedPhoto.jpg");

    image.resize(1024, 768, ResizeType.CubicConvolution);
    image.save("ResizedPhoto2.jpg");

    ImageResizeSettings resizeSettings = new ImageResizeSettings();
    resizeSettings.setMode(ResizeType.CubicBSpline);
    resizeSettings.setFilterType(ImageFilterType.SmallRectangular);

    image.resize(800, 800, resizeSettings);
    image.save("ResizedPhoto3.jpg");
}

Example: Resize EPS image and export it to PNG format.

// Загрузить EPS‑изображение
try (Image image = Image.load("AstrixObelix.eps"))
{
    // Изменить размер изображения с использованием метода кубической интерполяции Mitchell
    image.resize(400, 400, ResizeType.Mitchell);

    // Экспортировать изображение в формат PNG
    image.save("ExportResult.png", new PngOptions());
}

resize(int newWidth, int newHeight, ImageResizeSettings settings)

public abstract void resize(int newWidth, int newHeight, ImageResizeSettings settings)

Изменяет размер изображения.

Parameters:

ПараметрТипОписание
newWidthintНовая ширина.
newHeightintНовая высота.
settingsImageResizeSettingsНастройки изменения размера.

Example: This example loads an image and resizes it using various resizing settings.

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

com.aspose.imaging.ImageResizeSettings resizeSettings = new com.aspose.imaging.ImageResizeSettings();

// Адаптивный алгоритм, основанный на взвешенной и смешанной рациональной функции и интерполяции lanczos3.
resizeSettings.setMode(com.aspose.imaging.ResizeType.AdaptiveResample);

// Небольшой прямоугольный фильтр
resizeSettings.setFilterType(com.aspose.imaging.ImageFilterType.SmallRectangular);

// Количество цветов в палитре.
resizeSettings.setEntriesCount(256);

// Квантование цветов не используется
resizeSettings.setColorQuantizationMethod(com.aspose.imaging.ColorQuantizationMethod.None);

// Эвклидов метод
resizeSettings.setColorCompareMethod(com.aspose.imaging.ColorCompareMethod.Euclidian);

com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.gif");
try {
    // Уменьшить в 2 раза с помощью адаптивного пересэмплинга.
    image.resize(image.getWidth() / 2, image.getHeight() / 2, resizeSettings);
    image.save(dir + "downsample.adaptive.gif");
} finally {
    image.dispose();
}

Example: This example loads a raster image and resizes it using various resizing settings.

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

com.aspose.imaging.ImageResizeSettings resizeSettings = new com.aspose.imaging.ImageResizeSettings();

// Адаптивный алгоритм, основанный на взвешенной и смешанной рациональной функции и интерполяции lanczos3.
resizeSettings.setMode(com.aspose.imaging.ResizeType.AdaptiveResample);

// Небольшой прямоугольный фильтр
resizeSettings.setFilterType(com.aspose.imaging.ImageFilterType.SmallRectangular);

// Количество цветов в палитре.
resizeSettings.setEntriesCount(256);

// Квантование цветов не используется
resizeSettings.setColorQuantizationMethod(com.aspose.imaging.ColorQuantizationMethod.None);

// Эвклидов метод
resizeSettings.setColorCompareMethod(com.aspose.imaging.ColorCompareMethod.Euclidian);
            
try (com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.gif")) {
    // Уменьшить в 2 раза с помощью адаптивного пересэмплинга.
    image.resize(image.getWidth() / 2, image.getHeight() / 2, resizeSettings);
    image.save(dir + "downsample.adaptive.gif");
}

Example: Resize image using specific Resize Type.

try (Image image = Image.load("Photo.jpg"))
{
    image.resize(640, 480, ResizeType.CatmullRom);
    image.save("ResizedPhoto.jpg");

    image.resize(1024, 768, ResizeType.CubicConvolution);
    image.save("ResizedPhoto2.jpg");

    ImageResizeSettings resizeSettings = new ImageResizeSettings();
    resizeSettings.setMode(ResizeType.CubicBSpline);
    resizeSettings.setFilterType(ImageFilterType.SmallRectangular);

    image.resize(800, 800, resizeSettings);
    image.save("ResizedPhoto3.jpg");
}

Example: Resize EPS image using advanced settings.

// Загрузить EPS‑изображение
try (Image image = Image.load("AstrixObelix.eps"))
{
    ImageResizeSettings resizeSettings = new ImageResizeSettings();
    // Установить режим интерполяции
    resizeSettings.setMode(ResizeType.LanczosResample);
    // Установить тип фильтра
    resizeSettings.setFilterType(ImageFilterType.SmallRectangular);
    // Устанавливает метод сравнения цветов
    resizeSettings.setColorCompareMethod(ColorCompareMethod.Euclidian);
    // Установить метод квантования цветов
    resizeSettings.setColorQuantizationMethod(ColorQuantizationMethod.Popularity);

    // Изменить размер изображения с использованием расширенных настроек масштабирования
    image.resize(400, 400, resizeSettings);

    // Экспортировать изображение в формат PNG
    image.save("ExportResult.png", new PngOptions());
}

getDefaultOptions(Object[] args)

public ImageOptionsBase getDefaultOptions(Object[] args)

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

Parameters:

ПараметрТипОписание
argsjava.lang.Object[]Аргументы.

Returns: ImageOptionsBase - Default options

getOriginalOptions()

public ImageOptionsBase getOriginalOptions()

Получает параметры на основе настроек оригинального файла. Это может быть полезно для сохранения глубины цвета и других параметров оригинального изображения без изменений. Например, если мы загрузим черно‑белое PNG‑изображение с 1 битом на пиксель и затем сохраним его, используя метод DataStreamSupporter.Save(string), будет получено PNG‑изображение с 8 битами на пиксель. Чтобы избежать этого и сохранить PNG‑изображение с 1 битом на пиксель, используйте этот метод для получения соответствующих параметров сохранения и передайте их методу Image.Save(string, ImageOptionsBase) в качестве второго параметра.

Returns: ImageOptionsBase - The options based on the original file settings.

resizeWidthProportionally(int newWidth)

public void resizeWidthProportionally(int newWidth)

Изменяет ширину пропорционально. По умолчанию используется ResizeType.NearestNeighbourResample.

Parameters:

ПараметрТипОписание
newWidthintНовая ширина.

resizeHeightProportionally(int newHeight)

public void resizeHeightProportionally(int newHeight)

Изменяет высоту пропорционально. По умолчанию используется ResizeType.NearestNeighbourResample.

Parameters:

ПараметрТипОписание
newHeightintНовая высота.

resizeWidthProportionally(int newWidth, int resizeType)

public void resizeWidthProportionally(int newWidth, int resizeType)

Изменяет ширину пропорционально.

Parameters:

ПараметрТипОписание
newWidthintНовая ширина.
resizeTypeintТип масштабирования.

Example: This example loads an image and resizes it proportionally using various resizing methods. В этом примере загружается изображение и пропорционально изменяется с использованием различных методов масштабирования. Указывается только ширина, высота рассчитывается автоматически.

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

com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.gif");
try {
    // Увеличить в 2 раза с использованием ресэмплинга ближайшего соседа.
    image.resizeWidthProportionally(image.getWidth() * 2, com.aspose.imaging.ResizeType.NearestNeighbourResample);
    image.save(dir + "upsample.nearestneighbour.gif");
} finally {
    image.dispose();
}

image = com.aspose.imaging.Image.load(dir + "sample.gif");
try {
    // Уменьшить в 2 раза с использованием ресэмплинга ближайшего соседа.
    image.resizeWidthProportionally(image.getWidth() / 2, com.aspose.imaging.ResizeType.NearestNeighbourResample);
    image.save(dir + "downsample.nearestneighbour.gif");
} finally {
    image.dispose();
}

image = com.aspose.imaging.Image.load(dir + "sample.gif");
try {
    // Увеличить в 2 раза с использованием билинейного ресэмплинга.
    image.resizeWidthProportionally(image.getWidth() * 2, com.aspose.imaging.ResizeType.BilinearResample);
    image.save(dir + "upsample.bilinear.gif");
} finally {
    image.dispose();
}

image = com.aspose.imaging.Image.load(dir + "sample.gif");
{
    // Уменьшить в 2 раза с использованием билинейного ресэмплинга.
    image.resizeWidthProportionally(image.getWidth() / 2, com.aspose.imaging.ResizeType.BilinearResample);
    image.save(dir + "downsample.bilinear.gif");
}

resizeHeightProportionally(int newHeight, int resizeType)

public void resizeHeightProportionally(int newHeight, int resizeType)

Изменяет высоту пропорционально.

Parameters:

ПараметрТипОписание
newHeightintНовая высота.
resizeTypeintТип масштабирования.

Example: This example loads an image and resizes it proportionally using various resizing methods. В этом примере загружается изображение и пропорционально изменяется с использованием различных методов масштабирования. Указывается только высота, ширина рассчитывается автоматически.

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

com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.gif");
try {
    // Увеличить в 2 раза с использованием ресэмплинга ближайшего соседа.
    image.resizeHeightProportionally(image.getHeight() * 2, com.aspose.imaging.ResizeType.NearestNeighbourResample);
    image.save(dir + "upsample.nearestneighbour.gif");
} finally {
    image.dispose();
}

image = com.aspose.imaging.Image.load(dir + "sample.gif");
try {
    // Уменьшить в 2 раза с использованием ресэмплинга ближайшего соседа.
    image.resizeHeightProportionally(image.getHeight() / 2, com.aspose.imaging.ResizeType.NearestNeighbourResample);
    image.save(dir + "upsample.nearestneighbour.gif");
} finally {
    image.dispose();
}

image = com.aspose.imaging.Image.load(dir + "sample.gif");
try {
    // Увеличить в 2 раза с использованием билинейного ресэмплинга.
    image.resizeHeightProportionally(image.getHeight() * 2, com.aspose.imaging.ResizeType.BilinearResample);
    image.save(dir + "upsample.bilinear.gif");
} finally {
    image.dispose();
}

image = com.aspose.imaging.Image.load(dir + "sample.gif");
try {
    // Уменьшить в 2 раза с использованием билинейного ресэмплинга.
    image.resizeHeightProportionally(image.getHeight() / 2, com.aspose.imaging.ResizeType.BilinearResample);
    image.save(dir + "downsample.bilinear.gif");
} finally {
    image.dispose();
}

Example: Using a segment mask to speed up the segmentation process

// Параметры экспорта маскирования
com.aspose.imaging.imageoptions.PngOptions exportOptions = new com.aspose.imaging.imageoptions.PngOptions();
exportOptions.setColorType(com.aspose.imaging.fileformats.png.PngColorType.TruecolorWithAlpha);
exportOptions.setSource(new com.aspose.imaging.sources.StreamSource());

com.aspose.imaging.masking.options.MaskingOptions maskingOptions = new com.aspose.imaging.masking.options.MaskingOptions();

// Использовать кластеризацию GraphCut.
maskingOptions.setMethod(com.aspose.imaging.masking.options.SegmentationMethod.GraphCut);
maskingOptions.setDecompose(false);
maskingOptions.setArgs(new com.aspose.imaging.masking.options.AutoMaskingArgs());

// Фоновый цвет будет прозрачным.
maskingOptions.setBackgroundReplacementColor(com.aspose.imaging.Color.getTransparent());
maskingOptions.setExportOptions(exportOptions);

String dir = "c:\\temp\\";
com.aspose.imaging.RasterImage image = (com.aspose.imaging.RasterImage)com.aspose.imaging.Image.load(dir + "BigImage.jpg");
try
{
    com.aspose.imaging.Size imageSize = image.getSize();

    // Уменьшение размера изображения для ускорения процесса сегментации
    image.resizeHeightProportionally(600, com.aspose.imaging.ResizeType.HighQualityResample);

    // Создайте экземпляр класса ImageMasking.
    com.aspose.imaging.masking.ImageMasking masking = new com.aspose.imaging.masking.ImageMasking(image);

    // Разделите исходное изображение на несколько кластеров (сегментов).
    com.aspose.imaging.masking.result.MaskingResult maskingResult = masking.decompose(maskingOptions);
    try
    {
        // Получение маски переднего плана
        com.aspose.imaging.RasterImage foregroundMask = maskingResult.get_Item(1).getMask();
        try
        {
            // Увеличьте размер маски до размера оригинального изображения
            foregroundMask.resize(imageSize.getWidth(), imageSize.getHeight(), com.aspose.imaging.ResizeType.NearestNeighbourResample);

            // Применение маски к оригинальному изображению для получения сегмента переднего плана
            com.aspose.imaging.RasterImage originImage = (com.aspose.imaging.RasterImage)com.aspose.imaging.Image.load(dir + "BigImage.jpg");
            try
            {
                com.aspose.imaging.masking.ImageMasking.applyMask(originImage, foregroundMask, maskingOptions);
                originImage.save(dir + "BigImage_foreground.png", exportOptions);
            }
            finally
            {
                originImage.close();
            }
        }
        finally
        {
            foregroundMask.close();
        }
    }
    finally
    {
        maskingResult.close();
    }
}
finally
{
    image.close();
}

resizeWidthProportionally(int newWidth, ImageResizeSettings settings)

public void resizeWidthProportionally(int newWidth, ImageResizeSettings settings)

Изменяет ширину пропорционально.

Parameters:

ПараметрТипОписание
newWidthintНовая ширина.
settingsImageResizeSettingsНастройки масштабирования изображения.

resizeHeightProportionally(int newHeight, ImageResizeSettings settings)

public void resizeHeightProportionally(int newHeight, ImageResizeSettings settings)

Изменяет высоту пропорционально.

Parameters:

ПараметрТипОписание
newHeightintНовая высота.
settingsImageResizeSettingsНастройки масштабирования изображения.

rotateFlip(int rotateFlipType)

public abstract void rotateFlip(int rotateFlipType)

Поворачивает, отражает или одновременно поворачивает и отражает изображение.

Parameters:

ПараметрТипОписание
rotateFlipTypeintТип вращения/отражения.

Example: This example demonstrates the use of Rotate operation on an image. В этом примере демонстрируется использование операции Rotate над изображением. Пример загружает существующий файл изображения из некоторого места на диске и выполняет операцию Rotate над изображением в соответствии со значением перечисления com.aspose.imaging.RotateFlipType

// Создайте экземпляр класса image и инициализируйте его существующим файлом изображения через путь к файлу
com.aspose.imaging.Image image = com.aspose.imaging.Image.load("C:\\temp\\sample.bmp");
try {
    // Поверните изображение на 180 градусов вокруг оси X
    image.rotateFlip(com.aspose.imaging.RotateFlipType.Rotate180FlipX);

    // Сохранить все изменения.
    image.save();
} finally {
    image.dispose();
}

rotate(float angle)

public void rotate(float angle)

Поворачивает изображение вокруг центра.

Parameters:

ПараметрТипОписание
anglefloatУгол вращения в градусах. Положительные значения вращают по часовой стрелке.

crop(Rectangle rectangle)

public void crop(Rectangle rectangle)

Обрезает указанный прямоугольник.

Parameters:

ПараметрТипОписание
rectangleRectangleПрямоугольник.

Example: The following example crops a raster image. В следующем примере происходит обрезка растрового изображения. Область обрезки указывается через com.aspose.imaging.Rectangle.

String dir = "c:\\temp\\";
            
try (com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.png")) {
    // Обрежьте изображение. Область обрезки — прямоугольный центральный участок изображения.
    com.aspose.imaging.Rectangle area = new com.aspose.imaging.Rectangle(rasterImage.getWidth() / 4, rasterImage.getHeight() / 4, rasterImage.getWidth() / 2, rasterImage.getHeight() / 2);
    image.crop(area);

    // Сохраните обрезанное изображение в PNG
    image.save(dir + "sample.Crop.png");
}

crop(int leftShift, int rightShift, int topShift, int bottomShift)

public void crop(int leftShift, int rightShift, int topShift, int bottomShift)

Обрезает изображение со сдвигами.

Parameters:

ПараметрТипОписание
leftShiftintЛевый сдвиг.
rightShiftintПравый сдвиг.
topShiftintВерхний сдвиг.
bottomShiftintНижний сдвиг.

Example: The following example crops a raster image. В следующем примере происходит обрезка растрового изображения. Область обрезки задаётся через отступы Left, Top, Right, Bottom.

String dir = "c:\\temp\\";
            
try (com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.png")) {
    // Обрезать снова. Установите отступ в размере 10 % от размера изображения.
    int horizontalMargin = rasterImage.getWidth() / 10;
    int verticalMargin = rasterImage.getHeight() / 10;
    image.crop(horizontalMargin, horizontalMargin, verticalMargin, verticalMargin);

    // Сохраните обрезанное изображение в PNG.
    image.save(dir + "sample.Crop.png");
}

save()

public final void save()

Сохраняет данные изображения в базовый поток.

Example: The following example shows how to save an entire BMP image or part of it to a file or stream.

String dir = "c:\\temp\\";
com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.bmp");
try {
    com.aspose.imaging.fileformats.bmp.BmpImage bmpImage = (com.aspose.imaging.fileformats.bmp.BmpImage) image;

    // Преобразовать в черно-белое изображение
    bmpImage.binarizeOtsu();

    // Сохранить в то же место с параметрами по умолчанию.
    image.save();

    com.aspose.imaging.imageoptions.BmpOptions saveOptions = new com.aspose.imaging.imageoptions.BmpOptions();

    // Палитра содержит только два цвета: чёрный и белый в данном случае.
    saveOptions.setPalette(com.aspose.imaging.ColorPaletteHelper.createMonochrome());

    // Для всех монохромных изображений (включая черно-белые) достаточно выделять 1 бит на пиксель.
    saveOptions.setBitsPerPixel(1);

    // Сохранить в другое место с указанными параметрами.
    image.save(dir + "sample.bw.palettized.bmp", saveOptions);

    // Сохранить только центральную часть изображения.
    com.aspose.imaging.Rectangle bounds = new com.aspose.imaging.Rectangle(image.getWidth() / 4, image.getHeight() / 4, image.getWidth() / 2, image.getHeight() / 2);
    image.save(dir + "sample.bw.palettized.part.bmp", saveOptions, bounds);

    // Сохранить всё изображение в поток памяти
    java.io.ByteArrayOutputStream stream = new java.io.ByteArrayOutputStream();
    try {
        image.save(stream, saveOptions);
        System.out.println("The size of the whole image in bytes: " + stream.size());
    } finally {
        stream.close();
    }

    // Сохранить центральную часть изображения в поток памяти
    stream = new java.io.ByteArrayOutputStream();
    try {
        image.save(stream, saveOptions, bounds);
        System.out.println("The size of the central part of the image in bytes: " + stream.size());
    } finally {
        stream.close();
    }
} finally {
    image.close();
}

//Вывод может выглядеть так:
//Размер полного изображения в байтах: 1662
//Размер центральной части изображения в байтах: 462

save(String filePath)

public void save(String filePath)

Сохраняет изображение в указанное расположение файла.

Parameters:

ПараметрТипОписание
filePathjava.lang.StringПуть к файлу для сохранения изображения.

save(String filePath, ImageOptionsBase options)

public void save(String filePath, ImageOptionsBase options)

Сохраняет данные объекта в указанное расположение файла в указанном формате файла согласно параметрам сохранения.

Parameters:

ПараметрТипОписание
filePathjava.lang.StringПуть к файлу.
optionsImageOptionsBaseПараметры.

Example: This example shows the simple steps to Save an Image. В этом примере показаны простые шаги по сохранению изображения. Чтобы продемонстрировать эту операцию, мы загружаем существующий файл из некоторого места на диске и сохраняем изображение в формате PSD.

// Загрузить существующий файл с диска.
com.aspose.imaging.Image image = com.aspose.imaging.Image.load("C:\\temp\\sample.bmp");
try {
    // Сохранить изображение в формате PSD по пути к файлу с настройками PsdOptions по умолчанию
    image.save("C:\\temp\\output.psd", new com.aspose.imaging.imageoptions.PsdOptions());
} finally {
    image.dispose();
}

save(String filePath, ImageOptionsBase options, Rectangle boundsRectangle)

public void save(String filePath, ImageOptionsBase options, Rectangle boundsRectangle)

Сохраняет данные объекта в указанное расположение файла в указанном формате файла согласно параметрам сохранения.

Parameters:

ПараметрТипОписание
filePathjava.lang.StringПуть к файлу.
optionsImageOptionsBaseПараметры.
boundsRectangleRectangleПрямоугольник границ целевого изображения. Установите пустой прямоугольник для использования границ источника.

Example: The following example loads a BMP image from a file, then saves a rectangular part of the image to a PNG file.

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

com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.bmp");
try {
    // Сохранить верхнюю половину изображения в файл PNG.
    com.aspose.imaging.imageoptions.PngOptions saveOptions = new com.aspose.imaging.imageoptions.PngOptions();
    com.aspose.imaging.Rectangle bounds = new com.aspose.imaging.Rectangle(0, 0, image.getWidth(), image.getHeight() / 2);
    image.save(dir + "output.png", saveOptions, bounds);
} finally {
    image.dispose();
}

save(RandomAccessFile file, ImageOptionsBase options)

public void save(RandomAccessFile file, ImageOptionsBase options)

Сохраняет данные объекта в указанное расположение файла в указанном формате файла согласно параметрам сохранения.

Parameters:

ПараметрТипОписание
файлjava.io.RandomAccessFileФайл, в который сохраняются данные изображения.
optionsImageOptionsBaseПараметры.

save(RandomAccessFile file, ImageOptionsBase optionsBase, Rectangle boundsRectangle)

public void save(RandomAccessFile file, ImageOptionsBase optionsBase, Rectangle boundsRectangle)

Сохраняет данные изображения в указанный поток в указанном формате файла согласно параметрам сохранения.

Parameters:

ПараметрТипОписание
файлjava.io.RandomAccessFileФайл, в который сохраняются данные изображения.
optionsBaseImageOptionsBaseПараметры сохранения.
boundsRectangleRectangleПрямоугольник границ целевого изображения. Установите пустой прямоугольник для использования границ источника.

save(OutputStream stream, ImageOptionsBase optionsBase)

public void save(OutputStream stream, ImageOptionsBase optionsBase)

Сохраняет данные изображения в указанный поток в указанном формате файла согласно параметрам сохранения.

Parameters:

ПараметрТипОписание
streamjava.io.OutputStreamПоток, в который сохраняются данные изображения.
optionsBaseImageOptionsBaseПараметры сохранения.

Example: This example shows the process of saving an Image to memory buffer. Этот пример демонстрирует процесс сохранения изображения в буфер памяти. Чтобы продемонстрировать эту операцию, пример загружает существующий файл из некоторого расположения на диске и сохраняет изображение в формате PSD.

java.io.ByteArrayOutputStream stream = new java.io.ByteArrayOutputStream();
try {            //Create an instance of image class and initialize it with an existing image file through File path
    com.aspose.imaging.Image image = com.aspose.imaging.Image.load("C:\\temp\\sample.bmp");
    try {
        //Сохранить изображение в поток памяти PSD с настройками по умолчанию PsdOptions
        image.save(stream, new com.aspose.imaging.imageoptions.PsdOptions());
    } finally {
        image.dispose();
    }
} finally {
    stream.close();
}

save(OutputStream stream, ImageOptionsBase optionsBase, Rectangle boundsRectangle)

public void save(OutputStream stream, ImageOptionsBase optionsBase, Rectangle boundsRectangle)

Сохраняет данные изображения в указанный поток в указанном формате файла согласно параметрам сохранения.

Parameters:

ПараметрТипОписание
streamjava.io.OutputStreamПоток, в который сохраняются данные изображения.
optionsBaseImageOptionsBaseПараметры сохранения.
boundsRectangleRectangleПрямоугольник границ целевого изображения. Установите пустой прямоугольник для использования границ источника.

Example: The following example loads an image from a file, then saves a rectangular part of the image to a PNG file stream.

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

com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.bmp");
try {
    com.aspose.imaging.imageoptions.PngOptions saveOptions = new com.aspose.imaging.imageoptions.PngOptions();
    com.aspose.imaging.Rectangle bounds = new com.aspose.imaging.Rectangle(0, 0, image.getWidth(), image.getHeight() / 2);
    java.io.OutputStream outputStream = new java.io.FileOutputStream(dir + "sample.output.png");
    try {
        // Сохранить верхнюю половину изображения в файловый поток.
        image.save(outputStream, saveOptions, bounds);
    } finally {
        outputStream.close();
    }
} finally {
    image.dispose();
}

setPalette(IColorPalette palette, boolean updateColors)

public abstract void setPalette(IColorPalette palette, boolean updateColors)

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

Parameters:

ПараметрТипОписание
paletteIColorPaletteПалитра для установки.
updateColorsbooleanЕсли установить значение true, цвета будут обновлены в соответствии с новой палитрой; в противном случае индексы цветов останутся неизменными. Обратите внимание, что неизменные индексы могут привести к сбою изображения при загрузке, если некоторые индексы не имеют соответствующих записей в палитре.

getSerializedStream(ImageOptionsBase imageOptions, Rectangle clippingRectangle, int[] pageNumber)

public InputStream getSerializedStream(ImageOptionsBase imageOptions, Rectangle clippingRectangle, int[] pageNumber)

Преобразует в aps.

Parameters:

ПараметрТипОписание
imageOptionsImageOptionsBaseПараметры изображения.
clippingRectangleRectangleПрямоугольник обрезки.
pageNumberint[]Номер страницы.

Returns: java.io.InputStream - Сериализованный поток