RasterImage

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

All Implemented Interfaces: com.aspose.imaging.IRasterImageArgb32PixelLoader, com.aspose.internal.IPixelsSaver, com.aspose.imaging.xmp.IHasXmpData

public abstract class RasterImage extends Image implements IRasterImageArgb32PixelLoader, IPixelsSaver, IHasXmpData

Представляет растровое изображение, поддерживающее операции растровой графики.

Методы

МетодОписание
getPremultiplyComponents()Получает или задает значение, указывающее, должны ли компоненты изображения быть предварительно умноженными.
setPremultiplyComponents(boolean value)Получает или задает значение, указывающее, должны ли компоненты изображения быть предварительно умноженными.
getUseRawData()Получает или задает значение, указывающее, использовать ли загрузку необработанных данных, когда она доступна.
setUseRawData(boolean value)Получает или задает значение, указывающее, использовать ли загрузку необработанных данных, когда она доступна.
getUpdateXmpData()Получает или задает значение, указывающее, обновлять ли метаданные XMP.
setUpdateXmpData(boolean value)Получает или задает значение, указывающее, обновлять ли метаданные XMP.
getRawIndexedColorConverter()Получает или задает индексированный конвертер цветов
setRawIndexedColorConverter(IIndexedColorConverter value)Получает или задает индексированный конвертер цветов
getRawCustomColorConverter()Получает или задает пользовательский конвертер цветов
setRawCustomColorConverter(IColorConverter value)Получает или задает пользовательский конвертер цветов
getRawFallbackIndex()Получает или задает запасной индекс, используемый, когда индекс палитры выходит за пределы
setRawFallbackIndex(int value)Получает или задает запасной индекс, используемый, когда индекс палитры выходит за пределы
getRawDataSettings()
isUsePalette()Получает значение, указывающее, используется ли палитра изображения.
getRawDataFormat()Получает формат необработанных данных.
getRawLineSize()Получает размер строки необработанных данных в байтах.
isRawDataAvailable()Получает значение, указывающее, доступна ли загрузка необработанных данных.
getHorizontalResolution()Получает или задает горизонтальное разрешение, в пикселях на дюйм, этого RasterImage.
setHorizontalResolution(double value)Получает или задает горизонтальное разрешение, в пикселях на дюйм, этого RasterImage.
getVerticalResolution()Получает или задает вертикальное разрешение, в пикселях на дюйм, этого RasterImage.
setVerticalResolution(double value)Получает или задает вертикальное разрешение, в пикселях на дюйм, этого RasterImage.
hasTransparentColor()Получает значение, указывающее, имеет ли данный экземпляр RasterImage прозрачный цвет.
hasAlpha()Получает значение, указывающее, имеет ли этот экземпляр альфа‑канал.
getTransparentColor()Получает прозрачный цвет изображения.
setTransparentColor(boolean value)Задает значение, указывающее, имеет ли данный экземпляр RasterImage прозрачный цвет.
setTransparentColor(Color value)Получает прозрачный цвет изображения.
getImageOpacity()Получает непрозрачность этого изображения.
removeMetadata()Удаляет метаданные этого экземпляра изображения, устанавливая значение IHasXmpData.XmpData(IHasXmpData.getXmpData/IHasXmpData.setXmpData(XmpPacketWrapper)) в null.
getModifyDate(boolean useDefault)Получает дату и время последней модификации изображения ресурса.
dither(int ditheringMethod, int bitsCount)Выполняет дизеринг текущего изображения.
dither(int ditheringMethod, int bitsCount, IColorPalette customPalette)Выполняет дизеринг текущего изображения.
getDefaultPixels(Rectangle rectangle, IPartialArgb32PixelLoader partialPixelLoader)Получает массив пикселей по умолчанию, используя частичный загрузчик пикселей.
getDefaultRawData(Rectangle rectangle, IPartialRawDataLoader partialRawDataLoader, RawDataSettings rawDataSettings)Получает массив необработанных данных по умолчанию, используя частичный загрузчик пикселей.
getDefaultArgb32Pixels(Rectangle rectangle)Получает массив 32‑битных ARGB‑пикселей по умолчанию.
getDefaultRawData(Rectangle rectangle, RawDataSettings rawDataSettings)Получает массив необработанных данных по умолчанию.
getArgb32Pixel(int x, int y)Получает 32‑битный ARGB‑пиксель изображения.
getPixel(int x, int y)Получает пиксель изображения.
setArgb32Pixel(int x, int y, int argb32Color)Устанавливает 32‑битный ARGB‑пиксель изображения для указанной позиции.
setPixel(int x, int y, Color color)Устанавливает пиксель изображения для указанной позиции.
readScanLine(int scanLineIndex)Читает всю строку сканирования по указанному индексу строки сканирования.
readArgb32ScanLine(int scanLineIndex)Читает всю строку сканирования по указанному индексу строки сканирования.
writeScanLine(int scanLineIndex, Color[] pixels)Записывает всю строку сканирования в указанный индекс строки сканирования.
writeArgb32ScanLine(int scanLineIndex, int[] argb32Pixels)Записывает всю строку сканирования в указанный индекс строки сканирования.
loadPartialArgb32Pixels(Rectangle rectangle, IPartialArgb32PixelLoader partialPixelLoader)Частично загружает 32‑битные ARGB‑пиксели пакетами.
loadPartialPixels(Rectangle desiredRectangle, IPartialPixelLoader pixelLoader)Частично загружает пиксели пакетами.
loadArgb32Pixels(Rectangle rectangle)Загружает 32‑битные ARGB‑пиксели.
loadArgb64Pixels(Rectangle rectangle)Загружает 64‑битные ARGB‑пиксели.
loadPartialArgb64Pixels(Rectangle rectangle, IPartialArgb64PixelLoader partialPixelLoader)Частично загружает 64‑битные ARGB‑пиксели пакетами.
loadPixels(Rectangle rectangle)Загружает пиксели.
loadCmykPixels(Rectangle rectangle)Загружает пиксели в формате CMYK.
loadCmyk32Pixels(Rectangle rectangle)Загружает пиксели в формате CMYK.
loadRawData(Rectangle rectangle, RawDataSettings rawDataSettings, IPartialRawDataLoader rawDataLoader)Загружает необработанные данные изображения, используя механизм частичной обработки.
loadRawData(Rectangle rectangle, Rectangle dstImageBounds, RawDataSettings rawDataSettings, IPartialRawDataLoader rawDataLoader)Загружает необработанные данные.
saveRawData(byte[] data, int dataOffset, Rectangle rectangle, RawDataSettings rawDataSettings)Сохраняет необработанные данные.
saveArgb32Pixels(Rectangle rectangle, int[] pixels)Сохраняет 32‑битные ARGB‑пиксели.
savePixels(Rectangle rectangle, Color[] pixels)Сохраняет пиксели.
toBitmap()Преобразует растровое изображение в bitmap.
saveCmykPixels(Rectangle rectangle, CmykColor[] pixels)Сохраняет пиксели.
saveCmyk32Pixels(Rectangle rectangle, int[] pixels)Сохраняет пиксели.
setResolution(double dpiX, double dpiY)Устанавливает разрешение для этого RasterImage.
setPalette(IColorPalette palette, boolean updateColors)Устанавливает палитру изображения.
autoRotate()Автоматически вращает изображение на основе данных ориентации, извлечённых из метаданных Exif.
resize(int newWidth, int newHeight, ImageResizeSettings settings)Изменяет размер изображения с расширенными параметрами.
rotate(float angle, boolean resizeProportionally, Color backgroundColor)Поворачивает изображение вокруг центра.
rotate(float angle)Поворачивает изображение вокруг центра.
binarizeFixed(byte threshold)Бинаризация изображения с предопределённым порогом
binarizeOtsu()Бинаризация изображения с порогом Оцу
binarizeBradley(double brightnessDifference)Бинаризация изображения с использованием адаптивного порогового алгоритма Брэдли, основанного на интегральном изображении
binarizeBradley(double brightnessDifference, int windowSize)Бинаризация изображения с использованием адаптивного порогового алгоритма Брэдли, основанного на интегральном изображении
blend(Point origin, RasterImage overlay, Rectangle overlayArea)Смешивает данный экземпляр изображения с изображением overlay.
blend(Point origin, RasterImage overlay, Rectangle overlayArea, byte overlayAlpha)Смешивает данный экземпляр изображения с изображением overlay.
blend(Point origin, RasterImage overlay)Смешивает этот экземпляр изображения с overlay при альфа == 255.
blend(Point origin, RasterImage overlay, byte overlayAlpha)Смешивает этот экземпляр изображения с overlay.
grayscale()Преобразование изображения в его градации серого
normalizeHistogram()Нормализует гистограмму изображения \u2014 корректирует значения пикселей, чтобы использовать весь доступный диапазон.
autoBrightnessContrast()Автоматическая адаптивная нормализация яркости и контраста для всего изображения.
adjustBrightness(int brightness)Регулировка яркости изображения.
adjustContrast(float contrast)Контрастирование изображения
embedDigitalSignature(String password)Встраивает цифровую подпись, основанную на предоставленном пароле, в изображение с помощью стеганографии.
analyzePercentageDigitalSignature(String password)Вычисляет процентное сходство между извлечёнными данными и оригинальным паролем.
isDigitalSigned(String password)Выполняет быструю проверку, определяющую, подписано ли изображение цифровой подписью, используя предоставленный пароль и порог.
isDigitalSigned(String password, int percentageThreshold)Выполняет быструю проверку, определяющую, подписано ли изображение цифровой подписью, используя предоставленный пароль и порог.
adjustGamma(float gammaRed, float gammaGreen, float gammaBlue)Гамма‑коррекция изображения.
adjustGamma(float gamma)Гамма‑коррекция изображения.
getSkewAngle()Получает угол наклона.
normalizeAngle()Нормализует угол.
normalizeAngle(boolean resizeProportionally, Color backgroundColor)Нормализует угол.
filter(Rectangle rectangle, FilterOptionsBase options)Фильтрует указанный прямоугольник.
replaceColor(Color oldColor, byte oldColorDiff, Color newColor)Заменяет один цвет другим с допустимой разницей и сохраняет исходное альфа-значение, чтобы сохранить плавные края.
replaceColor(int oldColorArgb, byte oldColorDiff, int newColorArgb)Заменяет один цвет другим с допустимой разницей и сохраняет исходное альфа-значение, чтобы сохранить плавные края.
replaceNonTransparentColors(Color newColor)Заменяет все непрозрачные цвета новым цветом и сохраняет исходное альфа-значение, чтобы сохранить плавные края.
replaceNonTransparentColors(int newColorArgb)Заменяет все непрозрачные цвета новым цветом и сохраняет исходное альфа-значение, чтобы сохранить плавные края.

Example: This example shows how to load pixel information in an array of colors, manipulates the array and set it back to the image.

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

// Создайте экземпляр GifOptions и задайте его различные свойства, включая свойство Source
com.aspose.imaging.imageoptions.GifOptions gifOptions = new com.aspose.imaging.imageoptions.GifOptions();
gifOptions.setSource(new com.aspose.imaging.sources.FileCreateSource(dir + "output.gif", false));

// Создать экземпляр Image
com.aspose.imaging.RasterImage image = (com.aspose.imaging.RasterImage) com.aspose.imaging.Image.create(gifOptions, 500, 500);
try {
    // Получите пиксели изображения, указав область как границу изображения
    com.aspose.imaging.Color[] pixels = image.loadPixels(image.getBounds());

    // Итерируйте массив и задавайте цвет альтернативного индексированного пикселя
    for (int index = 0; index < pixels.length; index++) {
        if (index % 2 == 0) {
            // Установите цвет индексированного пикселя в жёлтый
            pixels[index] = com.aspose.imaging.Color.getYellow();
        } else {
            // Установите цвет индексированного пикселя в синий
            pixels[index] = com.aspose.imaging.Color.getBlue();
        }
    }

    // Примените изменения пикселей к изображению
    image.savePixels(image.getBounds(), pixels);

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

getPremultiplyComponents()

public boolean getPremultiplyComponents()

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

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

setPremultiplyComponents(boolean value)

public void setPremultiplyComponents(boolean value)

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

Parameters:

ПараметрТипОписание
valuebooleantrue, если компоненты изображения должны быть предварительно умножены; иначе false.

Example: The following example creates a new raster image, saves the specified semi-transparent pixels, then loads those pixels and gets final colors in the premultiplied form.

int imageWidth = 3;
int imageHeight = 2;

com.aspose.imaging.Color[] colors = new com.aspose.imaging.Color[]
        {
                com.aspose.imaging.Color.fromArgb(127, 255, 0, 0),
                com.aspose.imaging.Color.fromArgb(127, 0, 255, 0),
                com.aspose.imaging.Color.fromArgb(127, 0, 0, 255),
                com.aspose.imaging.Color.fromArgb(127, 255, 255, 0),
                com.aspose.imaging.Color.fromArgb(127, 255, 0, 255),
                com.aspose.imaging.Color.fromArgb(127, 0, 255, 255),
        };

com.aspose.imaging.imageoptions.PngOptions createOptions = new com.aspose.imaging.imageoptions.PngOptions();
createOptions.setSource(new com.aspose.imaging.sources.StreamSource(new com.aspose.imaging.system.io.MemoryStream(), true));
createOptions.setColorType(com.aspose.imaging.fileformats.png.PngColorType.TruecolorWithAlpha);

com.aspose.imaging.Image image = com.aspose.imaging.Image.create(createOptions, imageWidth, imageHeight);
try {
    com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;

    // Сохранить пиксели для всего изображения.
    rasterImage.savePixels(rasterImage.getBounds(), colors);

    // Пиксели хранятся в оригинальном изображении в непреумноженной форме.
    // Необходимо явно указать соответствующую опцию, чтобы получить преумноженные цветовые компоненты.
    // Преумноженные цветовые компоненты вычисляются по формулам:
    // red = original_red * alpha / 255;
    // green = original_green * alpha / 255;
    // blue = original_blue * alpha / 255;
    rasterImage.setPremultiplyComponents(true);
    com.aspose.imaging.Color[] premultipliedColors = rasterImage.loadPixels(rasterImage.getBounds());

    for (int i = 0; i < colors.length; i++) {
        System.out.println("Original color: " + colors[i].toString());
        System.out.println("Premultiplied color: " + premultipliedColors[i].toString());
    }
} finally {
    image.dispose();
}

getUseRawData()

public boolean getUseRawData()

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

Returns: boolean - true, если использовать загрузку необработанных данных, когда она доступна; иначе false.

setUseRawData(boolean value)

public void setUseRawData(boolean value)

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

Parameters:

ПараметрТипОписание
valuebooleantrue, если использовать загрузку необработанных данных, когда она доступна; иначе false.

getUpdateXmpData()

public boolean getUpdateXmpData()

Получает или задает значение, указывающее, обновлять ли метаданные XMP.

Returns: boolean - true, если обновлять метаданные XMP; иначе false.

setUpdateXmpData(boolean value)

public void setUpdateXmpData(boolean value)

Получает или задает значение, указывающее, обновлять ли метаданные XMP.

Parameters:

ПараметрТипОписание
valuebooleantrue, если обновлять метаданные XMP; иначе false.

getRawIndexedColorConverter()

public IIndexedColorConverter getRawIndexedColorConverter()

Получает или задает индексированный конвертер цветов

Returns: IIndexedColorConverter - The indexed color converter

setRawIndexedColorConverter(IIndexedColorConverter value)

public void setRawIndexedColorConverter(IIndexedColorConverter value)

Получает или задает индексированный конвертер цветов

Parameters:

ПараметрТипОписание
valueIIndexedColorConverterИндексированный конвертер цветов

getRawCustomColorConverter()

public IColorConverter getRawCustomColorConverter()

Получает или задает пользовательский конвертер цветов

Returns: IColorConverter - The custom color converter

setRawCustomColorConverter(IColorConverter value)

public void setRawCustomColorConverter(IColorConverter value)

Получает или задает пользовательский конвертер цветов

Parameters:

ПараметрТипОписание
valueIColorConverterПользовательский конвертер цветов

getRawFallbackIndex()

public int getRawFallbackIndex()

Получает или задает запасной индекс, используемый, когда индекс палитры выходит за пределы

Returns: int - Запасной индекс, используемый, когда индекс палитры выходит за пределы

setRawFallbackIndex(int value)

public void setRawFallbackIndex(int value)

Получает или задает запасной индекс, используемый, когда индекс палитры выходит за пределы

Parameters:

ПараметрТипОписание
valueintЗапасной индекс, используемый, когда индекс палитры выходит за пределы

getRawDataSettings()

public RawDataSettings getRawDataSettings()

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

Returns: RawDataSettings

isUsePalette()

public boolean isUsePalette()

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

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

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

getRawDataFormat()

public PixelDataFormat getRawDataFormat()

Получает формат необработанных данных.

Returns: PixelDataFormat - The raw data format.

Example: The following example loads raster images and prints information about raw data format and alpha channel.


// Файлы изображений для загрузки.
String[] fileNames = new String[]
        {
                "c:\\temp\\sample.bmp",
                "c:\\temp\\alpha.png",
        };

for (String fileName : fileNames) {
    com.aspose.imaging.Image image = com.aspose.imaging.Image.load(fileName);
    try {
        com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;
        System.out.println(
                "ImageFile=" + fileName +
                        " FileFormat=" + rasterImage.getRawDataFormat() +
                        " HasAlpha=" + rasterImage.hasAlpha());
    } finally {
        image.dispose();
    }
}

// Вывод может выглядеть так:
// ImageFile=c:\temp\sample.bmp FileFormat=Rgb24Bpp, used channels: 8,8,8 HasAlpha=false
// ImageFile=c:\temp\alpha.png FileFormat=RGBA32Bpp, used channels: 8,8,8,8 HasAlpha=true

getRawLineSize()

public int getRawLineSize()

Получает размер строки необработанных данных в байтах.

Returns: int - Размер необработанной строки в байтах.

isRawDataAvailable()

public boolean isRawDataAvailable()

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

Returns: boolean - true, если загрузка этих необработанных данных доступна; иначе false.

getHorizontalResolution()

public double getHorizontalResolution()

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

Returns: double - Горизонтальное разрешение.

Примечание: по умолчанию это значение всегда равно 96, поскольку разные платформы не могут вернуть разрешение экрана. Вы можете рассмотреть возможность использования метода SetResolution для обновления обоих значений разрешения одним вызовом.

Example: The following example shows how to set horizontal/vertical resolution of a raster image.

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

com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.jpg");
try {
    com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;

    // Получить горизонтальное и вертикальное разрешение изображения
    double horizontalResolution = rasterImage.getHorizontalResolution();
    double verticalResolution = rasterImage.getVerticalResolution();
    System.out.println("The horizontal resolution, in pixels per inch: " + horizontalResolution);
    System.out.println("The vertical resolution, in pixels per inch: " + verticalResolution);

    if (horizontalResolution != 96.0 || verticalResolution != 96.0) {
        // Используйте метод SetResolution для обновления обоих значений разрешения одним вызовом.
        System.out.println("Set resolution values to 96 dpi");
        rasterImage.setResolution(96.0, 96.0);

        System.out.println("The horizontal resolution, in pixels per inch: " + rasterImage.getHorizontalResolution());
        System.out.println("The vertical resolution, in pixels per inch: " + rasterImage.getVerticalResolution());
    }

    // Вывод может выглядеть так:
    // Горизонтальное разрешение, в пикселях на дюйм: 300.0
    // Вертикальное разрешение, в пикселях на дюйм: 300.0
    // Установить значения разрешения в 96 dpi
    // Горизонтальное разрешение, в пикселях на дюйм: 96.0
    // Вертикальное разрешение, в пикселях на дюйм: 96.0
} finally {
    image.dispose();
}

setHorizontalResolution(double value)

public void setHorizontalResolution(double value)

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

Parameters:

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

Примечание: по умолчанию это значение всегда равно 96, поскольку разные платформы не могут вернуть разрешение экрана. Вы можете рассмотреть возможность использования метода SetResolution для обновления обоих значений разрешения одним вызовом. |

getVerticalResolution()

public double getVerticalResolution()

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

Returns: double - Вертикальное разрешение.

Примечание: по умолчанию это значение всегда равно 96, поскольку разные платформы не могут вернуть разрешение экрана. Вы можете рассмотреть возможность использования метода SetResolution для обновления обоих значений разрешения одним вызовом.

Example: The following example shows how to set horizontal/vertical resolution of a raster image.

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

com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.jpg");
try {
    com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;

    // Получить горизонтальное и вертикальное разрешение изображения
    double horizontalResolution = rasterImage.getHorizontalResolution();
    double verticalResolution = rasterImage.getVerticalResolution();
    System.out.println("The horizontal resolution, in pixels per inch: " + horizontalResolution);
    System.out.println("The vertical resolution, in pixels per inch: " + verticalResolution);

    if (horizontalResolution != 96.0 || verticalResolution != 96.0) {
        // Используйте метод SetResolution для обновления обоих значений разрешения одним вызовом.
        System.out.println("Set resolution values to 96 dpi");
        rasterImage.setResolution(96.0, 96.0);

        System.out.println("The horizontal resolution, in pixels per inch: " + rasterImage.getHorizontalResolution());
        System.out.println("The vertical resolution, in pixels per inch: " + rasterImage.getVerticalResolution());
    }

    // Вывод может выглядеть так:
    // Горизонтальное разрешение, в пикселях на дюйм: 300.0
    // Вертикальное разрешение, в пикселях на дюйм: 300.0
    // Установить значения разрешения в 96 dpi
    // Горизонтальное разрешение, в пикселях на дюйм: 96.0
    // Вертикальное разрешение, в пикселях на дюйм: 96.0
} finally {
    image.dispose();
}

setVerticalResolution(double value)

public void setVerticalResolution(double value)

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

Parameters:

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

Примечание: по умолчанию это значение всегда равно 96, поскольку разные платформы не могут вернуть разрешение экрана. Вы можете рассмотреть возможность использования метода SetResolution для обновления обоих значений разрешения одним вызовом. |

hasTransparentColor()

public boolean hasTransparentColor()

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


Базовая реализация фактически возвращает ``, если она не переопределена в конкретной реализации, поддерживающей эту функцию. Это свойство в основном используется FileFormat.Apng, FileFormat.Png, FileFormat.Gif, FileFormat.Tga для установки прозрачного цвета, если изображение не поддерживает прозрачность через альфа-канал.

Returns: boolean - значение, указывающее, имеет ли данный экземпляр RasterImage прозрачный цвет.

hasAlpha()

public boolean hasAlpha()

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

Returns: boolean - true, если у этого экземпляра есть альфа; в противном случае false.

Example: The following example loads raster images and prints information about raw data format and alpha channel.


// Файлы изображений для загрузки.
String[] fileNames = new String[]
        {
                "c:\\temp\\sample.bmp",
                "c:\\temp\\alpha.png",
        };

for (String fileName : fileNames) {
    com.aspose.imaging.Image image = com.aspose.imaging.Image.load(fileName);
    try {
        com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;
        System.out.println(
                "ImageFile=" + fileName +
                        " FileFormat=" + rasterImage.getRawDataFormat() +
                        " HasAlpha=" + rasterImage.hasAlpha());
    } finally {
        image.dispose();
    }
}

// Вывод может выглядеть так:
// ImageFile=c:\temp\sample.bmp FileFormat=Rgb24Bpp, used channels: 8,8,8 HasAlpha=false
// ImageFile=c:\temp\alpha.png FileFormat=RGBA32Bpp, used channels: 8,8,8,8 HasAlpha=true

getTransparentColor()

public Color getTransparentColor()

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

Returns: Color

setTransparentColor(boolean value)

public void setTransparentColor(boolean value)

Задает значение, указывающее, имеет ли данный экземпляр RasterImage прозрачный цвет.


Базовая реализация фактически возвращает ``, если она не переопределена в конкретной реализации, поддерживающей эту функцию. Это свойство в основном используется FileFormat.Apng, FileFormat.Png, FileFormat.Gif, FileFormat.Tga для установки прозрачного цвета, если изображение не поддерживает прозрачность через альфа-канал.

Parameters:

ПараметрТипОписание
valuebooleanзначение, указывающее, имеет ли данный экземпляр RasterImage прозрачный цвет.

setTransparentColor(Color value)

public void setTransparentColor(Color value)

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

Parameters:

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

getImageOpacity()

public float getImageOpacity()

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

Returns: float - Значение непрозрачности от 0.0 (полностью прозрачно) до 1.0 (полностью непрозрачно).

removeMetadata()

public void removeMetadata()

Удаляет метаданные этого экземпляра изображения, устанавливая значение IHasXmpData.XmpData(IHasXmpData.getXmpData/IHasXmpData.setXmpData(XmpPacketWrapper)) в null.

getModifyDate(boolean useDefault)

public Date getModifyDate(boolean useDefault)

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

Parameters:

ПараметрТипОписание
useDefaultbooleanесли установлено в true, использует информацию из FileInfo в качестве значения по умолчанию.

Returns: java.util.Date - Дата и время последнего изменения ресурсного изображения.

dither(int ditheringMethod, int bitsCount)

public void dither(int ditheringMethod, int bitsCount)

Выполняет дизеринг текущего изображения.

Parameters:

ПараметрТипОписание
ditheringMethodintМетод дизеринга.
bitsCountintОкончательное количество бит для дизеринга.

Example: The following example loads a raster image and performs threshold and floyd dithering using different palette depth.

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

com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.png");
try {
    com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;

    // Выполнить пороговое дизеринг с использованием 4-битовой цветовой палитры, содержащей 16 цветов.
    // Чем больше указано бит, тем выше качество и тем больше размер выходного изображения.
    // Обратите внимание, что в данный момент поддерживаются только 1-битовые, 4-битовые и 8-битовые палитры.
    rasterImage.dither(com.aspose.imaging.DitheringMethod.ThresholdDithering, 4);

    rasterImage.save(dir + "sample.ThresholdDithering4.png");
} finally {
    image.dispose();
}

image = com.aspose.imaging.Image.load(dir + "sample.png");
try {
    com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;

    // Выполнить дизеринг Флойда с использованием 1-битовой цветовой палитры, содержащей только 2 цвета — черный и белый.
    // Чем больше указано бит, тем выше качество и тем больше размер выходного изображения.
    // Обратите внимание, что в данный момент поддерживаются только 1-битовые, 4-битовые и 8-битовые палитры.
    rasterImage.dither(com.aspose.imaging.DitheringMethod.FloydSteinbergDithering, 1);

    rasterImage.save(dir + "sample.FloydSteinbergDithering1.png");
} finally {
    image.dispose();
}

dither(int ditheringMethod, int bitsCount, IColorPalette customPalette)

public abstract void dither(int ditheringMethod, int bitsCount, IColorPalette customPalette)

Выполняет дизеринг текущего изображения.

Parameters:

ПараметрТипОписание
ditheringMethodintМетод дизеринга.
bitsCountintОкончательное количество бит для дизеринга.
customPaletteIColorPaletteПользовательская палитра для дизеринга.

getDefaultPixels(Rectangle rectangle, IPartialArgb32PixelLoader partialPixelLoader)

public void getDefaultPixels(Rectangle rectangle, IPartialArgb32PixelLoader partialPixelLoader)

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

Parameters:

ПараметрТипОписание
rectangleRectangleПрямоугольник, для которого получаются пиксели.
partialPixelLoaderIPartialArgb32PixelLoaderЧастичный загрузчик пикселей.

getDefaultRawData(Rectangle rectangle, IPartialRawDataLoader partialRawDataLoader, RawDataSettings rawDataSettings)

public void getDefaultRawData(Rectangle rectangle, IPartialRawDataLoader partialRawDataLoader, RawDataSettings rawDataSettings)

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

Parameters:

ПараметрТипОписание
rectangleRectangleПрямоугольник, для которого получаются пиксели.
partialRawDataLoaderIPartialRawDataLoaderЧастичный загрузчик необработанных данных.
rawDataSettingsRawDataSettingsНастройки необработанных данных.

getDefaultArgb32Pixels(Rectangle rectangle)

public int[] getDefaultArgb32Pixels(Rectangle rectangle)

Получает массив 32‑битных ARGB‑пикселей по умолчанию.

Parameters:

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

Returns: int[] - Массив пикселей по умолчанию.

getDefaultRawData(Rectangle rectangle, RawDataSettings rawDataSettings)

public byte[] getDefaultRawData(Rectangle rectangle, RawDataSettings rawDataSettings)

Получает массив необработанных данных по умолчанию.

Parameters:

ПараметрТипОписание
rectangleRectangleПрямоугольник, для которого получаются необработанные данные.
rawDataSettingsRawDataSettingsНастройки необработанных данных.

Returns: byte[] — массив необработанных данных по умолчанию.

getArgb32Pixel(int x, int y)

public int getArgb32Pixel(int x, int y)

Получает 32‑битный ARGB‑пиксель изображения.

Parameters:

ПараметрТипОписание
xintКоордината x пикселя.
yintКоордината y пикселя.

Returns: int — 32‑битный ARGB‑пиксель для указанного положения.

Example: The following example loads a raster image and obtains the color of an arbitrary pixel represented as a 32-bit integer value.

com.aspose.imaging.Image image = com.aspose.imaging.Image.load("c:\\temp\\sample.png");
try {
    com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;

    // Получить целочисленное представление цвета пикселя в левом верхнем углу изображения.
    int color = rasterImage.getArgb32Pixel(0, 0);

    // Чтобы получить значения отдельных компонентов цвета, сдвиньте значение цвета на соответствующее количество битов.
    int alpha = (color >> 24) & 0xff;
    int red = (color >> 16) & 0xff;
    int green = (color >> 8) & 0xff;
    int blue = (color >> 0) & 0xff;

    System.out.println("The color of the pixel(0,0) is A=" + alpha + ",R=" + red + ",G=" + green + ",B=" + blue);
} finally {
    image.dispose();
}

// Вывод может выглядеть так:
// Цвет пикселя (0,0) — A=255,R=0,G=0,B=0.

getPixel(int x, int y)

public Color getPixel(int x, int y)

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

Parameters:

ПараметрТипОписание
xintКоордината x пикселя.
yintКоордината y пикселя.

Returns: Color - The pixel color for the specified location.

Example: The following example loads a raster image and obtains the color of an arbitrary pixel.

com.aspose.imaging.Image image = com.aspose.imaging.Image.load("c:\\temp\\sample.png");
try {
    com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;

    // Получить цвет пикселя в левом верхнем углу изображения.
    com.aspose.imaging.Color color = rasterImage.getPixel(0, 0);

    // Получить значения отдельных компонентов цвета.
    int alpha = color.getA();
    int red = color.getR();
    int green = color.getG();
    int blue = color.getB();

    System.out.println("The color of the pixel(0,0) is A=" + alpha + ",R=" + red + ",G=" + green + ",B=" + blue);
} finally {
    image.dispose();
}

setArgb32Pixel(int x, int y, int argb32Color)

public void setArgb32Pixel(int x, int y, int argb32Color)

Устанавливает 32‑битный ARGB‑пиксель изображения для указанной позиции.

Parameters:

ПараметрТипОписание
xintКоордината x пикселя.
yintКоордината y пикселя.
argb32Colorint32‑битный ARGB‑пиксель для указанной позиции.

Example: The following example loads a raster image, and sets the color of an arbitrary pixel.


com.aspose.imaging.Image image = com.aspose.imaging.Image.load("c:\\temp\\sample.png");
try {
    com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;

    // Устанавливает цвет пикселя в левом верхнем углу.
    rasterImage.setArgb32Pixel(0, 0, com.aspose.imaging.Color.getAqua().toArgb());

    // Другой способ — передать экземпляр com.aspose.imaging.Color напрямую.
    rasterImage.setPixel(0, 0, com.aspose.imaging.Color.getAqua());
} finally {
    image.dispose();
}

setPixel(int x, int y, Color color)

public void setPixel(int x, int y, Color color)

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

Parameters:

ПараметрТипОписание
xintКоордината x пикселя.
yintКоордината y пикселя.
colorColorЦвет пикселя для указанной позиции.

Example: The following example loads a raster image, and sets the color of an arbitrary pixel.


com.aspose.imaging.Image image = com.aspose.imaging.Image.load("c:\\temp\\sample.png");
try {
    com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;

    // Устанавливает цвет пикселя в левом верхнем углу.
    rasterImage.setArgb32Pixel(0, 0, com.aspose.imaging.Color.getAqua().toArgb());

    // Другой способ — передать экземпляр com.aspose.imaging.Color напрямую.
    rasterImage.setPixel(0, 0, com.aspose.imaging.Color.getAqua());
} finally {
    image.dispose();
}

readScanLine(int scanLineIndex)

public Color[] readScanLine(int scanLineIndex)

Читает всю строку сканирования по указанному индексу строки сканирования.

Parameters:

ПараметрТипОписание
scanLineIndexintНулевой индекс строки сканирования.

Returns: com.aspose.imaging.Color[] — массив значений цветов пикселей строки сканирования.

readArgb32ScanLine(int scanLineIndex)

public int[] readArgb32ScanLine(int scanLineIndex)

Читает всю строку сканирования по указанному индексу строки сканирования.

Parameters:

ПараметрТипОписание
scanLineIndexintНулевой индекс строки сканирования.

Returns: int[] — массив 32‑битных ARGB‑значений цветов строки сканирования.

writeScanLine(int scanLineIndex, Color[] pixels)

public void writeScanLine(int scanLineIndex, Color[] pixels)

Записывает всю строку сканирования в указанный индекс строки сканирования.

Parameters:

ПараметрТипОписание
scanLineIndexintНулевой индекс строки сканирования.
pixelsColor[]Массив цветов пикселей для записи.

writeArgb32ScanLine(int scanLineIndex, int[] argb32Pixels)

public void writeArgb32ScanLine(int scanLineIndex, int[] argb32Pixels)

Записывает всю строку сканирования в указанный индекс строки сканирования.

Parameters:

ПараметрТипОписание
scanLineIndexintНулевой индекс строки сканирования.
argb32Pixelsint[]Массив 32‑битных ARGB‑цветов для записи.

loadPartialArgb32Pixels(Rectangle rectangle, IPartialArgb32PixelLoader partialPixelLoader)

public void loadPartialArgb32Pixels(Rectangle rectangle, IPartialArgb32PixelLoader partialPixelLoader)

Частично загружает 32‑битные ARGB‑пиксели пакетами.

Parameters:

ПараметрТипОписание
rectangleRectangleЖелаемый прямоугольник.
partialPixelLoaderIPartialArgb32PixelLoaderЗагрузчик 32‑битных ARGB‑пикселей.

Example: The following example shows how to load and process pixels of a raster image using your own partial processor. В следующем примере показано, как загружать и обрабатывать пиксели растрового изображения с использованием собственного частичного процессора. Например, рассмотрим задачу подсчёта полностью прозрачных пикселей изображения. Чтобы подсчитать прозрачные пиксели с помощью механизма частичной загрузки, вводится отдельный класс TransparentArgb32PixelCounter, реализующий com.aspose.imaging.IPartialArgb32PixelLoader.


// Сначала реализуйте com.aspose.imaging.IPartialArgb32PixelLoader, чтобы подсчитать все полностью прозрачные пиксели.
/** Counts the number of fully transparent pixels with alpha channel value of 0. */
class TransparentArgb32PixelCounter implements com.aspose.imaging.IPartialArgb32PixelLoader {
    /**
     * The number of fully transparent pixels.
     */
    private int count;

    /**
     * Gets the number of fully transparent pixels.
     */
    public int getCount() {
        return this.count;
    }

    /**
     * <p>Processes the loaded pixels. This method is called back every time when a new portion of pixels is loaded.</p>                 *
     *
     * @param pixelsRectangle The pixels rectangle.
     * @param pixels          The 32-bit ARGB pixels.
     * @param start           The start pixels point.
     * @param end             The end pixels point.
     */
    public void process(com.aspose.imaging.Rectangle pixelsRectangle, int[] pixels, com.aspose.imaging.Point start, com.aspose.imaging.Point end) {
        for (int pixel : pixels) {
            int alpha = (pixel >> 24) & 0xff;
            if (alpha == 0) {
                this.count++;
            }
        }
    }
}

// Вот пример использования счётчика.
com.aspose.imaging.Image image = com.aspose.imaging.Image.load("c:\\temp\\alpha.png");
try {
    com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;

    // Создайте экземпляр com.aspose.imaging.IPartialArgb32PixelLoader и передайте его в com.aspose.imaging.RasterImage.LoadPartialArgb32Pixels
    TransparentArgb32PixelCounter counter = new TransparentArgb32PixelCounter();

    // Загрузите пиксели для всего изображения. Любая прямоугольная часть изображения может быть указана в качестве первого параметра метода com.aspose.imaging.RasterImage.loadPartialArgb32Pixels.
    rasterImage.loadPartialArgb32Pixels(rasterImage.getBounds(), counter);

    System.out.println("The number of fully transparent pixels is " + counter.getCount());
    System.out.println("The total number of pixels is " + (image.getWidth() * image.getHeight()));
} finally {
    image.dispose();
}

// Вывод может выглядеть так:
// Количество полностью прозрачных пикселей равно 55157
// Общее количество пикселей равно 120400

loadPartialPixels(Rectangle desiredRectangle, IPartialPixelLoader pixelLoader)

public void loadPartialPixels(Rectangle desiredRectangle, IPartialPixelLoader pixelLoader)

Частично загружает пиксели пакетами.

Parameters:

ПараметрТипОписание
desiredRectangleRectangleЖелаемый прямоугольник.
pixelLoaderIPartialPixelLoaderЗагрузчик пикселей.

Example: The following example shows how to load and process pixels of a raster image using your own partial processor. Следующий пример показывает, как загрузить и обработать пиксели растрового изображения, используя ваш собственный частичный процессор. Например, рассмотрим задачу подсчёта полностью прозрачных пикселей изображения. Для подсчёта прозрачных пикселей с использованием механизма частичной загрузки вводится отдельный класс TransparentPixelCounter, реализующий com.aspose.imaging.IPartialPixelLoader.


// Сначала реализуйте com.aspose.imaging.IPartialPixelLoader, чтобы подсчитать все полностью прозрачные пиксели.
/** Counts the number of fully transparent pixels with alpha channel value of 0. */
class TransparentPixelCounter implements com.aspose.imaging.IPartialPixelLoader {
    /**
     * The number of fully transparent pixels.
     */
    private int count;

    /**
     * Gets the number of fully transparent pixels.
     */
    public int getCount() {
        return this.count;
    }

    /**
     * <p>Processes the loaded pixels. This method is called back every time when a new portion of pixels is loaded.</p>
     *
     * @param pixelsRectangle The pixels rectangle.
     * @param pixels          The 32-bit ARGB pixels.
     * @param start           The start pixels point.
     * @param end             The end pixels point.
     */
    public void process(com.aspose.imaging.Rectangle pixelsRectangle, com.aspose.imaging.Color[] pixels, com.aspose.imaging.Point start, com.aspose.imaging.Point end) {
        for (com.aspose.imaging.Color pixel : pixels) {
            if (pixel.getA() == 0) {
                this.count++;
            }
        }
    }
}

// Вот пример использования счётчика.
com.aspose.imaging.Image image = com.aspose.imaging.Image.load("c:\\temp\\alpha.png");
try {
    com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;

    // Создайте экземпляр com.aspose.imaging.IPartialPixelLoader и передайте его в com.aspose.imaging.RasterImage.loadPartialPixels
    TransparentPixelCounter counter = new TransparentPixelCounter();

    // Загрузите пиксели для всего изображения. Любая прямоугольная часть изображения может быть указана в качестве первого параметра метода com.aspose.imaging.RasterImage.loadPartialPixels.
    rasterImage.loadPartialPixels(rasterImage.getBounds(), counter);

    System.out.println("The number of fully transparent pixels is " + counter.getCount());
    System.out.println("The total number of pixels is " + (image.getWidth() * image.getHeight()));
} finally {
    image.dispose();
}

// Вывод может выглядеть так:
// Количество полностью прозрачных пикселей равно 55157
// Общее количество пикселей равно 120400

loadArgb32Pixels(Rectangle rectangle)

public int[] loadArgb32Pixels(Rectangle rectangle)

Загружает 32‑битные ARGB‑пиксели.

Parameters:

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

Returns: int[] — массив загруженных 32‑битных ARGB пикселей.

Example: The following example shows how to load and process pixels of a raster image. Следующий пример показывает, как загрузить и обработать пиксели растрового изображения. Пиксели представлены 32‑битными целочисленными значениями. Например, рассмотрим задачу подсчёта полностью прозрачных пикселей изображения.


com.aspose.imaging.Image image = com.aspose.imaging.Image.load("c:\\temp\\alpha.png");
try {
    com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;

    // Загрузите пиксели для всего изображения. Любая прямоугольная часть изображения может быть указана в качестве параметра метода com.aspose.imaging.RasterImage.loadArgb32Pixels.
    int[] pixels = rasterImage.loadArgb32Pixels(rasterImage.getBounds());

    int count = 0;
    for (int pixel : pixels) {
        int alpha = (pixel >> 24) & 0xff;
        if (alpha == 0) {
            count++;
        }
    }

    System.out.println("The number of fully transparent pixels is " + count);
    System.out.println("The total number of pixels is " + (image.getWidth() * image.getHeight()));
} finally {
    image.dispose();
}

loadArgb64Pixels(Rectangle rectangle)

public long[] loadArgb64Pixels(Rectangle rectangle)

Загружает 64‑битные ARGB‑пиксели.

Parameters:

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

Returns: long[] — массив загруженных 64‑битных ARGB пикселей.

Example: The following example shows how to load and process pixels of a raster image. Следующий пример показывает, как загрузить и обработать пиксели растрового изображения. Пиксели представлены 64‑битными целочисленными значениями. Например, рассмотрим задачу подсчёта полностью прозрачных пикселей изображения.

com.aspose.imaging.Image image = com.aspose.imaging.Image.load("c:\\temp\\16rgba.png");
try {
    com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;

    // Загрузите пиксели для всего изображения. Любая прямоугольная часть изображения может быть указана в качестве параметра метода com.aspose.imaging.RasterImage.loadArgb64Pixels.
    // Обратите внимание, что само изображение должно иметь 16 бит на образец, поскольку com.aspose.imaging.RasterImage.loadArgb64Pixels не работает с 8‑битными образцами.
    // Чтобы работать с 8‑битными образцами, пожалуйста, используйте проверенный метод com.aspose.imaging.RasterImage.loadArgb32Pixels.
    long[] pixels = rasterImage.loadArgb64Pixels(rasterImage.getBounds());

    int count = 0;
    for (long pixel : pixels) {
        // Обратите внимание, что все цветовые компоненты, включая альфа, представлены 16‑битными значениями, поэтому их допустимый диапазон — [0, 63535].
        long alpha = (pixel >> 48) & 0xffff;
        if (alpha == 0) {
            count++;
        }
    }

    System.out.println("The number of fully transparent pixels is " + count);
    System.out.println("The total number of pixels is " + (image.getWidth() * image.getHeight()));
} finally {
    image.dispose();
}

loadPartialArgb64Pixels(Rectangle rectangle, IPartialArgb64PixelLoader partialPixelLoader)

public final void loadPartialArgb64Pixels(Rectangle rectangle, IPartialArgb64PixelLoader partialPixelLoader)

Частично загружает 64‑битные ARGB‑пиксели пакетами.

Parameters:

ПараметрТипОписание
rectangleRectangleЖелаемый прямоугольник.
partialPixelLoaderIPartialArgb64PixelLoader64‑битный загрузчик ARGB пикселей.

loadPixels(Rectangle rectangle)

public Color[] loadPixels(Rectangle rectangle)

Загружает пиксели.

Parameters:

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

Returns: com.aspose.imaging.Color[] — массив загруженных пикселей.

Example: The following example shows how to load and process pixels of a raster image. Следующий пример показывает, как загрузить и обработать пиксели растрового изображения. Например, рассмотрим задачу подсчёта полностью прозрачных пикселей изображения.

com.aspose.imaging.Image image = com.aspose.imaging.Image.load("c:\\temp\\alpha.png");
try {
    com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;

    // Загрузите пиксели для всего изображения. Любая прямоугольная часть изображения может быть указана в качестве параметра метода Aspose.Imaging.RasterImage.LoadPixels.
    com.aspose.imaging.Color[] pixels = rasterImage.loadPixels(rasterImage.getBounds());

    int count = 0;
    for (com.aspose.imaging.Color pixel : pixels) {
        if (pixel.getA() == 0) {
            count++;
        }
    }

    System.out.println("The number of fully transparent pixels is " + count);
    System.out.println("The total number of pixels is " + (image.getWidth() * image.getHeight()));
} finally {
    image.dispose();
}

loadCmykPixels(Rectangle rectangle)

public CmykColor[] loadCmykPixels(Rectangle rectangle)

Загружает пиксели в формате CMYK. Этот метод устарел. Пожалуйста, используйте более эффективный метод loadCmyk32Pixels(Rectangle).

Parameters:

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

Returns: com.aspose.imaging.CmykColor[] - Загруженный массив пикселей CMYK.

loadCmyk32Pixels(Rectangle rectangle)

public int[] loadCmyk32Pixels(Rectangle rectangle)

Загружает пиксели в формате CMYK.

Parameters:

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

Returns: int[] - Загруженные пиксели CMYK представлены в виде 32‑битных целочисленных значений.

loadRawData(Rectangle rectangle, RawDataSettings rawDataSettings, IPartialRawDataLoader rawDataLoader)

public void loadRawData(Rectangle rectangle, RawDataSettings rawDataSettings, IPartialRawDataLoader rawDataLoader)

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

Parameters:

ПараметрТипОписание
rectangleRectangleЖелаемая прямоугольная область изображения, из которой загружать данные.
rawDataSettingsRawDataSettingsНастройки необработанных данных.
rawDataLoaderIPartialRawDataLoaderЗагрузчик необработанных данных.

Example: The following example shows how to extract pixels from the raw image data using RawDataSettings. В следующем примере показано, как извлекать пиксели из необработанных данных изображения с помощью RawDataSettings. Например, рассмотрим задачу подсчёта полностью прозрачных пикселей изображения.


// Сначала реализуйте счётчик. В случае необработанных данных счётчик может выглядеть так:
/** Counts the number of fully transparent pixels with alpha channel value of 0. */
class TransparentPixelRawDataCounter implements com.aspose.imaging.IPartialRawDataLoader {
    /**
     * The number of fully transparent pixels.
     */
    private int count;

    /**
     * The raw data settings of the loaded image.
     */
    private com.aspose.imaging.RawDataSettings rawDataSettings;

    /**
     * Gets the number of fully transparent pixels.
     */
    public int getCount() {
        return this.count;
    }

    /**
     * <p>Initializes a new instance of the <see TransparentPixelRawDataCounter /> class.</p>
     *
     * @param settings The raw data settings allow to extract color components from raw data.
     */
    public TransparentPixelRawDataCounter(com.aspose.imaging.RawDataSettings settings) {
        this.rawDataSettings = settings;
        this.count = 0;
    }

    /**
     * <p>Processes the loaded raw data. This method is called back every time when a new portion of raw data is loaded.</p>
     *
     * @param dataRectangle The raw data rectangle.
     * @param data          The raw data.
     * @param start         The start data point.
     * @param end           The end data point.
     */
    public void process(com.aspose.imaging.Rectangle dataRectangle, byte[] data, com.aspose.imaging.Point start, com.aspose.imaging.Point end)// throws java.lang.Exception
    {
        int[] channelBits = this.rawDataSettings.getPixelDataFormat().getChannelBits();

        // Здесь рассматриваются только простые форматы, чтобы упростить код.
        // Рассмотрим только изображения с 8 битами на образец.
        for (int i = 0; i < channelBits.length; i++) {
            if (channelBits[i] != 8) {
                throw new java.lang.UnsupportedOperationException();
            }
        }

        switch (this.rawDataSettings.getPixelDataFormat().getPixelFormat()) {
            case com.aspose.imaging.PixelFormat.Rgb:
            case com.aspose.imaging.PixelFormat.Bgr: {
                if (channelBits.length == 4) {
                    // ARGB
                    for (int i = 0; i < data.length; i += 4) {
                        // Канал альфа хранится последним, после цветовых компонентов.
                        if (data[i + 3] == 0) {
                            this.count++;
                        }
                    }
                }
            }
            break;

            case com.aspose.imaging.PixelFormat.Grayscale: {
                if (channelBits.length == 2) {
                    // Оттенки серого с альфа-каналом
                    for (int i = 0; i < data.length; i += 2) {
                        // Канал альфа хранится последним, после цветовых компонентов.
                        if (data[i + 1] == 0) {
                            this.count++;
                        }
                    }
                }
            }
            break;

            default:
                throw new java.lang.IllegalArgumentException("PixelFormat");
        }
    }

    /**
     * <p>Processes the loaded raw data. This method is called back every time when a new portion of raw data is loaded.</p>                 *
     *
     * @param dataRectangle The raw data rectangle.
     * @param data          The raw data.
     * @param start         The start data point.
     * @param end           The end data point.
     * @param loadOptions   The load options.
     */
    public void process(com.aspose.imaging.Rectangle dataRectangle, byte[] data, com.aspose.imaging.Point start, com.aspose.imaging.Point end, com.aspose.imaging.LoadOptions loadOptions) {
        this.process(dataRectangle, data, start, end);
    }
}

// Вот основной пример использования счётчика
com.aspose.imaging.Image image = com.aspose.imaging.Image.load("c:\\temp\\alpha.png");
try {
    com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;
    com.aspose.imaging.RawDataSettings settings = rasterImage.getRawDataSettings();

    TransparentPixelRawDataCounter rawDataLoader = new TransparentPixelRawDataCounter(settings);

    // Загрузите пиксели для всего изображения. Любую прямоугольную часть изображения можно указать в качестве параметра метода Aspose.Imaging.RasterImage.LoadRawData.
    rasterImage.loadRawData(rasterImage.getBounds(), settings, rawDataLoader);

    System.out.println("The number of fully transparent pixels is " + rawDataLoader.getCount());
    System.out.println("The total number of pixels is " + (image.getWidth() * image.getHeight()));
} finally {
    image.dispose();
}

// Вывод может выглядеть так:
// Количество полностью прозрачных пикселей равно 55157
// Общее количество пикселей равно 120400

loadRawData(Rectangle rectangle, Rectangle dstImageBounds, RawDataSettings rawDataSettings, IPartialRawDataLoader rawDataLoader)

public void loadRawData(Rectangle rectangle, Rectangle dstImageBounds, RawDataSettings rawDataSettings, IPartialRawDataLoader rawDataLoader)

Загружает необработанные данные.

Parameters:

ПараметрТипОписание
rectangleRectangleПрямоугольник, из которого загружать необработанные данные.
dstImageBoundsRectangleГраницы целевого изображения.
rawDataSettingsRawDataSettingsНастройки необработанных данных, используемые для загруженных данных. Обратите внимание, что если данные не в указанном формате, будет выполнено их преобразование.
rawDataLoaderIPartialRawDataLoaderЗагрузчик необработанных данных.

saveRawData(byte[] data, int dataOffset, Rectangle rectangle, RawDataSettings rawDataSettings)

public void saveRawData(byte[] data, int dataOffset, Rectangle rectangle, RawDataSettings rawDataSettings)

Сохраняет необработанные данные.

Parameters:

ПараметрТипОписание
данныеbyte[]Необработанные данные.
Начальное смещение необработанных данных dataOffset.intНачальное смещение необработанных данных.
rectangleRectangleПрямоугольник необработанных данных.
rawDataSettingsRawDataSettingsНастройки необработанных данных, в которых находятся данные.

saveArgb32Pixels(Rectangle rectangle, int[] pixels)

public void saveArgb32Pixels(Rectangle rectangle, int[] pixels)

Сохраняет 32‑битные ARGB‑пиксели.

Parameters:

ПараметрТипОписание
rectangleRectangleПрямоугольник, в который сохранять пиксели.
пикселиint[]32‑битный массив пикселей ARGB.

Example: The following example fills the central area of a raster image with black pixels using the com. В следующем примере центральная область растрового изображения заполняется чёрными пикселями с помощью метода com.aspose.imaging.RasterImage.saveArgb32Pixels.

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

com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.png");
try {
    com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;

    // Черный квадрат
    int[] pixels = new int[(rasterImage.getWidth() / 2) * (rasterImage.getHeight() / 2)];
    for (int i = 0; i < pixels.length; i++) {
        pixels[i] = com.aspose.imaging.Color.getBlack().toArgb();
    }

    // Нарисуйте черный квадрат в центре изображения.
    com.aspose.imaging.Rectangle area = new com.aspose.imaging.Rectangle(rasterImage.getWidth() / 4, rasterImage.getHeight() / 4, rasterImage.getWidth() / 2, rasterImage.getHeight() / 2);
    rasterImage.saveArgb32Pixels(area, pixels);

    rasterImage.save(dir + "sample.SaveArgb32Pixels.png");
} finally {
    image.dispose();
}

savePixels(Rectangle rectangle, Color[] pixels)

public void savePixels(Rectangle rectangle, Color[] pixels)

Сохраняет пиксели.

Parameters:

ПараметрТипОписание
rectangleRectangleПрямоугольник, в который сохранять пиксели.
pixelsColor[]Массив пикселей.

Example: The following example fills the central area of a raster image with black pixels using the com. В следующем примере центральная область растрового изображения заполняется черными пикселями с использованием метода com.aspose.imaging.RasterImage.savePixels.

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

com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.png");
try {
    com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;

    // Черный квадрат
    com.aspose.imaging.Color[] pixels = new com.aspose.imaging.Color[(rasterImage.getWidth() / 2) * (rasterImage.getHeight() / 2)];
    for (int i = 0; i < pixels.length; i++) {
        pixels[i] = com.aspose.imaging.Color.getBlack();
    }

    // Нарисуйте черный квадрат в центре изображения.
    com.aspose.imaging.Rectangle area = new com.aspose.imaging.Rectangle(rasterImage.getWidth() / 4, rasterImage.getHeight() / 4, rasterImage.getWidth() / 2, rasterImage.getHeight() / 2);
    rasterImage.savePixels(area, pixels);

    rasterImage.save(dir + "sample.SavePixels.png");
} finally {
    image.dispose();
}

toBitmap()

public BufferedImage toBitmap()

Преобразует растровое изображение в bitmap.

Returns: java.awt.image.BufferedImage - Битмап

Example: The following example converts a BMP image to a native Java bitmap.

com.aspose.imaging.Image image = com.aspose.imaging.Image.load("c:\\temp\\sample.bmp");
try {
    com.aspose.imaging.fileformats.bmp.BmpImage bmpImage = (com.aspose.imaging.fileformats.bmp.BmpImage) image;
    java.awt.image.BufferedImage bitmap = bmpImage.toBitmap();

    // Обработайте нативный битмап Java.
} finally {
    image.dispose();
}

saveCmykPixels(Rectangle rectangle, CmykColor[] pixels)

public void saveCmykPixels(Rectangle rectangle, CmykColor[] pixels)

Сохраняет пиксели. Этот метод устарел. Пожалуйста, используйте более эффективный метод saveCmyk32Pixels(Rectangle, int[]).

Parameters:

ПараметрТипОписание
rectangleRectangleПрямоугольник, в который сохранять пиксели.
pixelsCmykColor[]Массив CMYK‑пикселей.

saveCmyk32Pixels(Rectangle rectangle, int[] pixels)

public void saveCmyk32Pixels(Rectangle rectangle, int[] pixels)

Сохраняет пиксели.

Parameters:

ПараметрТипОписание
rectangleRectangleПрямоугольник, в который сохранять пиксели.
пикселиint[]CMYK‑пиксели представлены в виде 32‑битных целочисленных значений.

Example: The following example fills the central area of a raster image with black pixels using the com. В следующем примере центральная область растрового изображения заполняется черными пикселями с использованием метода com.aspose.imaging.RasterImage.saveCmyk32Pixels.

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

com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.png");
try {
    com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;

    // Получите целочисленное представление черного цвета в цветовом пространстве CMYK.
    int blackCmyk = com.aspose.imaging.CmykColorHelper.toCmyk(com.aspose.imaging.Color.getBlack());

    // Черный квадрат.
    int[] pixels = new int[(rasterImage.getWidth() / 2) * (rasterImage.getHeight() / 2)];
    for (int i = 0; i < pixels.length; i++) {
        pixels[i] = blackCmyk;
    }

    // Нарисуйте черный квадрат в центре изображения.
    com.aspose.imaging.Rectangle area = new com.aspose.imaging.Rectangle(rasterImage.getWidth() / 4, rasterImage.getHeight() / 4, rasterImage.getWidth() / 2, rasterImage.getHeight() / 2);
    rasterImage.saveCmyk32Pixels(area, pixels);

    rasterImage.save(dir + "sample.SaveCmyk32Pixels.png");
} finally {
    image.dispose();
}

setResolution(double dpiX, double dpiY)

public void setResolution(double dpiX, double dpiY)

Устанавливает разрешение для этого RasterImage.

Parameters:

ПараметрТипОписание
dpiXdoubleГоризонтальное разрешение, в точках на дюйм, RasterImage.
dpiYdoubleВертикальное разрешение, в точках на дюйм, RasterImage.

Example: The following example shows how to set horizontal/vertical resolution of a raster image.

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

com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.jpg");
try {
    com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;

    // Получить горизонтальное и вертикальное разрешение изображения
    double horizontalResolution = rasterImage.getHorizontalResolution();
    double verticalResolution = rasterImage.getVerticalResolution();
    System.out.println("The horizontal resolution, in pixels per inch: " + horizontalResolution);
    System.out.println("The vertical resolution, in pixels per inch: " + verticalResolution);

    if (horizontalResolution != 96.0 || verticalResolution != 96.0) {
        // Используйте метод SetResolution для обновления обоих значений разрешения одним вызовом.
        System.out.println("Set resolution values to 96 dpi");
        rasterImage.setResolution(96.0, 96.0);

        System.out.println("The horizontal resolution, in pixels per inch: " + rasterImage.getHorizontalResolution());
        System.out.println("The vertical resolution, in pixels per inch: " + rasterImage.getVerticalResolution());
    }

    // Вывод может выглядеть так:
    // Горизонтальное разрешение, в пикселях на дюйм: 300.0
    // Вертикальное разрешение, в пикселях на дюйм: 300.0
    // Установить значения разрешения в 96 dpi
    // Горизонтальное разрешение, в пикселях на дюйм: 96.0
    // Вертикальное разрешение, в пикселях на дюйм: 96.0
} finally {
    image.dispose();
}

setPalette(IColorPalette palette, boolean updateColors)

public void setPalette(IColorPalette palette, boolean updateColors)

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

Parameters:

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

autoRotate()

public final void autoRotate()

Автоматически вращает изображение на основе данных ориентации, извлечённых из метаданных Exif. Этот метод гарантирует правильное отображение изображений, улучшая пользовательский опыт и устраняя необходимость ручных корректировок. Анализируя информацию Exif, изображение поворачивается соответствующим образом, обеспечивая бесшовный просмотр на разных платформах и устройствах. Такой автоматический процесс вращения упрощает работу с изображениями и повышает общую удобство использования, особенно при работе с большими партиями изображений с различными ориентациями.

resize(int newWidth, int newHeight, ImageResizeSettings settings)

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

Изменяет размер изображения с расширенными параметрами.

Parameters:

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

rotate(float angle, boolean resizeProportionally, Color backgroundColor)

public void rotate(float angle, boolean resizeProportionally, Color backgroundColor)

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

Parameters:

ПараметрТипОписание
anglefloatУгол вращения в градусах. Положительные значения вращают по часовой стрелке.
resizeProportionallybooleanЕсли установить true, размер вашего изображения будет изменён в соответствии с проекциями вращённого прямоугольника (угловых точек); в противном случае размеры останутся неизменными, и будет вращено только внутреннее содержимое изображения.
backgroundColorColorЦвет фона.

rotate(float angle)

public void rotate(float angle)

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

Parameters:

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

binarizeFixed(byte threshold)

public void binarizeFixed(byte threshold)

Бинаризация изображения с предопределённым порогом

Parameters:

ПараметрТипОписание
thresholdbyteЗначение порога. Если соответствующее серое значение пикселя больше порога, ему будет присвоено значение 255, иначе — 0.

Example: The following example binarizes a raster image with the predefined threshold. В следующем примере растровое изображение бинаризуется с использованием предопределённого порога. Бинаризованные изображения содержат только 2 цвета — чёрный и белый.

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

com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.png");
try {
    com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;

    // Бинаризуйте изображение с пороговым значением 127.
    // Если соответствующее серое значение пикселя больше 127, ему будет присвоено значение 255, иначе 0.
    rasterImage.binarizeFixed((byte) 127);
    rasterImage.save(dir + "sample.BinarizeFixed.png");
} finally {
    image.dispose();
}

binarizeOtsu()

public void binarizeOtsu()

Бинаризация изображения с порогом Оцу

Example: The following example binarizes a raster image with Otsu thresholding. В следующем примере растровое изображение бинаризуется с помощью пороговой обработки Оцу. Бинаризованные изображения содержат только 2 цвета — чёрный и белый.

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

com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.png");
try {
    com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;

    // Бинаризуйте изображение с пороговой обработкой Оцу.
    rasterImage.binarizeOtsu();
    rasterImage.save(dir + "sample.BinarizeOtsu.png");
} finally {
    image.dispose();
}

binarizeBradley(double brightnessDifference)

public void binarizeBradley(double brightnessDifference)

Бинаризация изображения с использованием адаптивного порогового алгоритма Брэдли, основанного на интегральном изображении

Parameters:

ПараметрТипОписание
brightnessDifferencedoubleРазница яркости между пикселем и средним значением окна s × s пикселей, центрированного вокруг этого пикселя.

binarizeBradley(double brightnessDifference, int windowSize)

public void binarizeBradley(double brightnessDifference, int windowSize)

Бинаризация изображения с использованием адаптивного порогового алгоритма Брэдли, основанного на интегральном изображении

Parameters:

ПараметрТипОписание
brightnessDifferencedoubleРазница яркости между пикселем и средним значением окна s × s пикселей, центрированного вокруг этого пикселя.
windowSizeintРазмер окна s × s пикселей, центрированного вокруг этого пикселя.

Example: The following example binarizes a raster image with Bradley’s adaptive thresholding algorithm with the specified window size. В следующем примере растровое изображение бинаризуется с использованием адаптивного порогового алгоритма Брэдли с указанным размером окна. Бинаризованные изображения содержат только 2 цвета — чёрный и белый.

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

com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.png");
try {
    com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;

    // Бинаризуйте изображение с разницей яркости 5. Яркость определяется как разница между пикселем и средним значением 10 × 10 окна пикселей, центрированного вокруг этого пикселя.
    rasterImage.binarizeBradley(5, 10);
    rasterImage.save(dir + "sample.BinarizeBradley5_10x10.png");
} finally {
    image.dispose();
}

blend(Point origin, RasterImage overlay, Rectangle overlayArea)

public final void blend(Point origin, RasterImage overlay, Rectangle overlayArea)

Смешивает данный экземпляр изображения с изображением overlay.

Parameters:

ПараметрТипОписание
originPointИсходная точка смешения фонового изображения.
overlayRasterImageНаложенное изображение.
overlayAreaRectangleОбласть наложения.

blend(Point origin, RasterImage overlay, Rectangle overlayArea, byte overlayAlpha)

public void blend(Point origin, RasterImage overlay, Rectangle overlayArea, byte overlayAlpha)

Смешивает данный экземпляр изображения с изображением overlay.

Parameters:

ПараметрТипОписание
originPointИсходная точка смешения фонового изображения.
overlayRasterImageНаложенное изображение.
overlayAreaRectangleОбласть наложения.
overlayAlphabyteПрозрачность наложения.

blend(Point origin, RasterImage overlay)

public final void blend(Point origin, RasterImage overlay)

Смешивает этот экземпляр изображения с overlay при альфа == 255.

Parameters:

ПараметрТипОписание
originPointИсходная точка смешения фонового изображения.
overlayRasterImageНаложение.

blend(Point origin, RasterImage overlay, byte overlayAlpha)

public final void blend(Point origin, RasterImage overlay, byte overlayAlpha)

Смешивает этот экземпляр изображения с overlay.

Parameters:

ПараметрТипОписание
originPointИсходная точка смешения фонового изображения.
overlayRasterImageНаложение.
overlayAlphabyteПрозрачность наложения.

grayscale()

public void grayscale()

Преобразование изображения в его градации серого

Example: The following example transforms a colored raster image to its grayscale representation. В следующем примере цветное растровое изображение преобразуется в градацию серого. Изображения в градациях серого состоят исключительно из оттенков серого и содержат только информацию о интенсивности.

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

com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.png");
try {
    com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;

    rasterImage.grayscale();
    rasterImage.save(dir + "sample.Grayscale.png");
} finally {
    image.dispose();
}

normalizeHistogram()

public void normalizeHistogram()

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

autoBrightnessContrast()

public void autoBrightnessContrast()

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

adjustBrightness(int brightness)

public void adjustBrightness(int brightness)

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

Parameters:

ПараметрТипОписание
brightnessintЗначение яркости.

Example: The following example performs brightness correction of an image.

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

com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.png");
try {
    com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;

    // Установите значение яркости. Допустимые значения яркости находятся в диапазоне [-255, 255].
    rasterImage.adjustBrightness(50);
    rasterImage.save(dir + "sample.AdjustBrightness.png");
} finally {
    image.dispose();
}

adjustContrast(float contrast)

public void adjustContrast(float contrast)

Контрастирование изображения

Parameters:

ПараметрТипОписание
contrastfloatЗначение контрастности (в диапазоне [-100; 100])

Example: The following example performs contrast correction of an image.

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

com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.png");
try {
    com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;

    // Установите значение контрастности. Допустимые значения контрастности находятся в диапазоне [-100f, 100f].
    rasterImage.adjustContrast(50);
    rasterImage.save(dir + "sample.AdjustContrast.png");
} finally {
    image.dispose();
}

embedDigitalSignature(String password)

public void embedDigitalSignature(String password)

Встраивает цифровую подпись, основанную на предоставленном пароле, в изображение с помощью стеганографии.

Parameters:

ПараметрТипОписание
парольjava.lang.StringПароль, используемый для генерации данных цифровой подписи

Example: The example shows how to embed digital signature based on provided password into image pixel data.

String imageFilePath = "ball.png";
String password = "veryStr0ngPassword";
try (Image image = Image.load(imageFilePath))
{
    image.embedDigitalSignature(password);
    image.save(outputPath);
}

analyzePercentageDigitalSignature(String password)

public int analyzePercentageDigitalSignature(String password)

Вычисляет процентное сходство между извлечёнными данными и оригинальным паролем.

Parameters:

ПараметрТипОписание
парольjava.lang.StringПароль, используемый для извлечения встроенных данных.

Returns: int - Значение процента схожести.

isDigitalSigned(String password)

public boolean isDigitalSigned(String password)

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


Этот метод обеспечивает самое быстрое обнаружение, используя GetSignPercentage. Как только извлечённые данные достигают указанного порога, дальнейшие шаги извлечения, направленные на повышение точности обнаружения, пропускаются.

Parameters:

ПараметрТипОписание
парольjava.lang.StringПароль для проверки подписи.

Returns: boolean - True, если изображение подписано, иначе false.

isDigitalSigned(String password, int percentageThreshold)

public boolean isDigitalSigned(String password, int percentageThreshold)

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


Этот метод обеспечивает самое быстрое обнаружение, используя GetSignPercentage. Как только извлечённые данные достигают указанного порога, дальнейшие шаги извлечения, направленные на повышение точности обнаружения, пропускаются.

Parameters:

ПараметрТипОписание
парольjava.lang.StringПароль для проверки подписи.
percentageThresholdintПорог (в процентах)[0-100], определяющий, считается ли изображение подписанным. Если не указано, будет применён порог по умолчанию (75).

Returns: boolean - True, если изображение подписано, иначе false.

adjustGamma(float gammaRed, float gammaGreen, float gammaBlue)

public void adjustGamma(float gammaRed, float gammaGreen, float gammaBlue)

Гамма‑коррекция изображения.

Parameters:

ПараметрТипОписание
gammaRedfloatКоэффициент гаммы для красного канала
gammaGreenfloatКоэффициент гаммы для зелёного канала
gammaBluefloatКоэффициент гаммы для синего канала

Example: The following example performs gamma-correction of an image applying different coefficients for color components.

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

com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.png");
try {
    com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;

    // Установите отдельные коэффициенты гаммы для красного, зелёного и синего каналов.
    rasterImage.adjustGamma(1.5f, 2.5f, 3.5f);
    rasterImage.save(dir + "sample.AdjustGamma.png");
} finally {
    image.dispose();
}

adjustGamma(float gamma)

public void adjustGamma(float gamma)

Гамма‑коррекция изображения.

Parameters:

ПараметрТипОписание
гаммаfloatКоэффициент гаммы для красного, зелёного и синего каналов

Example: The following example performs gamma-correction of an image.

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

com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.png");
try {
    com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;

    // Установите коэффициент гаммы для красного, зелёного и синего каналов.
    rasterImage.adjustGamma(2.5f);
    rasterImage.save(dir + "sample.AdjustGamma.png");
} finally {
    image.dispose();
}

getSkewAngle()

public final float getSkewAngle()

Получает угол наклона. Этот метод применим к отсканированным текстовым документам для определения угла наклона при сканировании.

Returns: float — угол наклона в градусах.

normalizeAngle()

public final void normalizeAngle()

Нормализует угол. Этот метод применим к отсканированным текстовым документам, чтобы избавиться от искажённого сканирования. Этот метод использует #getSkewAngle.getSkewAngle и методы Image.rotate(float).

normalizeAngle(boolean resizeProportionally, Color backgroundColor)

public void normalizeAngle(boolean resizeProportionally, Color backgroundColor)

Нормализует угол. Этот метод применим к отсканированным текстовым документам, чтобы избавиться от искажённого сканирования. Этот метод использует #getSkewAngle.getSkewAngle и методы #rotate(float, boolean, Color).rotate(float, boolean, Color).

Parameters:

ПараметрТипОписание
resizeProportionallybooleanЕсли установить true, размер вашего изображения будет изменён в соответствии с проекциями вращённого прямоугольника (угловых точек); в противном случае размеры останутся неизменными, и будет вращено только внутреннее содержимое изображения.
backgroundColorColorЦвет фона.

Example: Skew is an artifact that might appear during document scanning process when the text/images of the document get rotated at a slight angle. Искажение (skew) — это артефакт, который может появиться во время процесса сканирования документа, когда текст/изображения документа поворачиваются под небольшим углом. Это может иметь различные причины, но самая распространённая — смещение листа во время сканирования. Поэтому дескейв (deskew) — это процесс обнаружения и исправления этой проблемы в отсканированных файлах (т.е. bitmap), так что дескейв‑документы будут иметь текст/изображения, правильно и горизонтально выровненные.

String dir = "c:\\aspose.imaging\\issues\\java\\1461\\";

String inputFilePath = dir + "skewed.png";
String outputFilePath = dir + "skewed.out.png";

// Избавьтесь от искажённого сканирования с параметрами по умолчанию
com.aspose.imaging.RasterImage image = (com.aspose.imaging.RasterImage) com.aspose.imaging.Image.load(inputFilePath);
try {
    // Дескейв
    image.normalizeAngle(false /*do not resize*/, com.aspose.imaging.Color.getLightGray() /*background color*/);
    image.save(outputFilePath);
} finally {
    image.close();
}

filter(Rectangle rectangle, FilterOptionsBase options)

public void filter(Rectangle rectangle, FilterOptionsBase options)

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

Parameters:

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

Example: The following example applies various types of filters to a raster image.

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

com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.png");
try {
    com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;

    // Примените медианный фильтр с размером прямоугольника 5 ко всему изображению.
    rasterImage.filter(rasterImage.getBounds(), new com.aspose.imaging.imagefilters.filteroptions.MedianFilterOptions(5));
    rasterImage.save(dir + "sample.MedianFilter.png");
} finally {
    image.dispose();
}

image = com.aspose.imaging.Image.load(dir + "sample.png");
try {
    com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;

    // Примените билатеральный сглаживающий фильтр с размером ядра 5 ко всему изображению.
    rasterImage.filter(rasterImage.getBounds(), new com.aspose.imaging.imagefilters.filteroptions.BilateralSmoothingFilterOptions(5));
    rasterImage.save(dir + "sample.BilateralSmoothingFilter.png");
} finally {
    image.dispose();
}

image = com.aspose.imaging.Image.load(dir + "sample.png");
try {
    com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;

    // Примените гауссов фильтр размытия с радиусом 5 и значением sigma 4.0 ко всему изображению.
    rasterImage.filter(rasterImage.getBounds(), new com.aspose.imaging.imagefilters.filteroptions.GaussianBlurFilterOptions(5, 4.0));
    rasterImage.save(dir + "sample.GaussianBlurFilter.png");
} finally {
    image.dispose();
}

image = com.aspose.imaging.Image.load(dir + "sample.png");
try {
    com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;

    // Примените фильтр Гаусса-Винера с радиусом 5 и значением smooth 4.0 ко всему изображению.
    rasterImage.filter(rasterImage.getBounds(), new com.aspose.imaging.imagefilters.filteroptions.GaussWienerFilterOptions(5, 4.0));
    rasterImage.save(dir + "sample.GaussWienerFilter.png");
} finally {
    image.dispose();
}

image = com.aspose.imaging.Image.load(dir + "sample.png");
try {
    com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;

    // Примените фильтр движения Винера с длиной 5, значением smooth 4.0 и углом 90,0 градусов ко всему изображению.
    rasterImage.filter(rasterImage.getBounds(), new com.aspose.imaging.imagefilters.filteroptions.MotionWienerFilterOptions(10, 1.0, 90.0));
    rasterImage.save(dir + "sample.MotionWienerFilter.png");
} finally {
    image.dispose();
}

image = com.aspose.imaging.Image.load(dir + "sample.png");
try {
    com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;

    // Примените фильтр резкости с размером ядра 5 и значением sigma 4.0 ко всему изображению.
    rasterImage.filter(rasterImage.getBounds(), new com.aspose.imaging.imagefilters.filteroptions.SharpenFilterOptions(5, 4.0));
    rasterImage.save(dir + "sample.SharpenFilter.png");
} finally {
    image.dispose();
}

replaceColor(Color oldColor, byte oldColorDiff, Color newColor)

public void replaceColor(Color oldColor, byte oldColorDiff, Color newColor)

Заменяет один цвет другим с допустимой разницей и сохраняет исходное альфа-значение, чтобы сохранить плавные края.

Parameters:

ПараметрТипОписание
oldColorColorСтарый цвет, который будет заменён.
oldColorDiffbyteДопустимая разница в старом цвете, позволяющая расширить заменённый тон цвета.
newColorColorНовый цвет, которым заменяется старый цвет.

replaceColor(int oldColorArgb, byte oldColorDiff, int newColorArgb)

public void replaceColor(int oldColorArgb, byte oldColorDiff, int newColorArgb)

Заменяет один цвет другим с допустимой разницей и сохраняет исходное альфа-значение, чтобы сохранить плавные края.

Parameters:

ПараметрТипОписание
oldColorArgbintЗначение ARGB старого цвета, которое будет заменено.
oldColorDiffbyteДопустимая разница в старом цвете, позволяющая расширить заменённый тон цвета.
newColorArgbintЗначение ARGB нового цвета, которым заменяется старый цвет.

replaceNonTransparentColors(Color newColor)

public void replaceNonTransparentColors(Color newColor)

Заменяет все непрозрачные цвета новым цветом и сохраняет исходное значение альфа, чтобы сохранить плавные края. Примечание: если использовать её на изображениях без прозрачности, все цвета будут заменены одним цветом.

Parameters:

ПараметрТипОписание
newColorColorНовый цвет, которым заменяются непрозрачные цвета.

replaceNonTransparentColors(int newColorArgb)

public void replaceNonTransparentColors(int newColorArgb)

Заменяет все непрозрачные цвета новым цветом и сохраняет исходное значение альфа, чтобы сохранить плавные края. Примечание: если использовать её на изображениях без прозрачности, все цвета будут заменены одним цветом.

Parameters:

ПараметрТипОписание
newColorArgbintЗначение ARGB нового цвета, которым заменяются непрозрачные цвета.