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

Rappresenta un’immagine raster che supporta operazioni grafiche raster.

Metodi

MetodoDescrizione
getPremultiplyComponents()Ottiene o imposta un valore che indica se i componenti dell’immagine devono essere premoltiplicati.
setPremultiplyComponents(boolean value)Ottiene o imposta un valore che indica se i componenti dell’immagine devono essere premoltiplicati.
getUseRawData()Ottiene o imposta un valore che indica se utilizzare il caricamento di dati grezzi quando è disponibile.
setUseRawData(boolean value)Ottiene o imposta un valore che indica se utilizzare il caricamento di dati grezzi quando è disponibile.
getUpdateXmpData()Ottiene o imposta un valore che indica se aggiornare i metadati XMP.
setUpdateXmpData(boolean value)Ottiene o imposta un valore che indica se aggiornare i metadati XMP.
getRawIndexedColorConverter()Ottiene o imposta il convertitore di colore indicizzato
setRawIndexedColorConverter(IIndexedColorConverter value)Ottiene o imposta il convertitore di colore indicizzato
getRawCustomColorConverter()Ottiene o imposta il convertitore di colore personalizzato
setRawCustomColorConverter(IColorConverter value)Ottiene o imposta il convertitore di colore personalizzato
getRawFallbackIndex()Ottiene o imposta l’indice di fallback da utilizzare quando l’indice della palette è fuori dai limiti
setRawFallbackIndex(int value)Ottiene o imposta l’indice di fallback da utilizzare quando l’indice della palette è fuori dai limiti
getRawDataSettings()
isUsePalette()Restituisce un valore che indica se la tavolozza dell’immagine è utilizzata.
getRawDataFormat()Ottiene il formato dei dati grezzi.
getRawLineSize()Ottiene la dimensione della riga grezza in byte.
isRawDataAvailable()Ottiene un valore che indica se il caricamento di dati grezzi è disponibile.
getHorizontalResolution()Ottiene o imposta la risoluzione orizzontale, in pixel per pollice, di questo RasterImage.
setHorizontalResolution(double value)Ottiene o imposta la risoluzione orizzontale, in pixel per pollice, di questo RasterImage.
getVerticalResolution()Ottiene o imposta la risoluzione verticale, in pixel per pollice, di questo RasterImage.
setVerticalResolution(double value)Ottiene o imposta la risoluzione verticale, in pixel per pollice, di questo RasterImage.
hasTransparentColor()Ottiene un valore che indica se questa istanza di RasterImage ha un colore trasparente.
hasAlpha()Ottiene un valore che indica se questa istanza ha alfa.
getTransparentColor()Ottiene il colore trasparente dell’immagine.
setTransparentColor(boolean value)Imposta un valore che indica se questa istanza di RasterImage ha un colore trasparente.
setTransparentColor(Color value)Ottiene il colore trasparente dell’immagine.
getImageOpacity()Ottiene l’opacità di questa immagine.
removeMetadata()Rimuove i metadati di questa istanza di immagine impostando il valore di IHasXmpData.XmpData(IHasXmpData.getXmpData/IHasXmpData.setXmpData(XmpPacketWrapper)) a null.
getModifyDate(boolean useDefault)Recupera la data e l’ora in cui l’immagine della risorsa ha subito l’ultima modifica.
dither(int ditheringMethod, int bitsCount)Esegue il dithering sull’immagine corrente.
dither(int ditheringMethod, int bitsCount, IColorPalette customPalette)Esegue il dithering sull’immagine corrente.
getDefaultPixels(Rectangle rectangle, IPartialArgb32PixelLoader partialPixelLoader)Ottiene l’array di pixel predefinito utilizzando il caricatore di pixel parziali.
getDefaultRawData(Rectangle rectangle, IPartialRawDataLoader partialRawDataLoader, RawDataSettings rawDataSettings)Ottiene l’array di dati grezzi predefinito utilizzando il caricatore di pixel parziali.
getDefaultArgb32Pixels(Rectangle rectangle)Ottiene l’array di pixel ARGB a 32 bit predefinito.
getDefaultRawData(Rectangle rectangle, RawDataSettings rawDataSettings)Ottiene l’array di dati grezzi predefinito.
getArgb32Pixel(int x, int y)Ottiene un pixel ARGB a 32 bit dell’immagine.
getPixel(int x, int y)Ottiene un pixel dell’immagine.
setArgb32Pixel(int x, int y, int argb32Color)Imposta un pixel ARGB a 32 bit dell’immagine per la posizione specificata.
setPixel(int x, int y, Color color)Imposta un pixel dell’immagine per la posizione specificata.
readScanLine(int scanLineIndex)Legge l’intera riga di scansione mediante l’indice di riga di scansione specificato.
readArgb32ScanLine(int scanLineIndex)Legge l’intera riga di scansione mediante l’indice di riga di scansione specificato.
writeScanLine(int scanLineIndex, Color[] pixels)Scrive l’intera riga di scansione nell’indice di riga di scansione specificato.
writeArgb32ScanLine(int scanLineIndex, int[] argb32Pixels)Scrive l’intera riga di scansione nell’indice di riga di scansione specificato.
loadPartialArgb32Pixels(Rectangle rectangle, IPartialArgb32PixelLoader partialPixelLoader)Carica parzialmente i pixel ARGB a 32 bit per pacchetti.
loadPartialPixels(Rectangle desiredRectangle, IPartialPixelLoader pixelLoader)Carica i pixel parzialmente per pacchetti.
loadArgb32Pixels(Rectangle rectangle)Carica i pixel ARGB a 32 bit.
loadArgb64Pixels(Rectangle rectangle)Carica i pixel ARGB a 64 bit.
loadPartialArgb64Pixels(Rectangle rectangle, IPartialArgb64PixelLoader partialPixelLoader)Carica parzialmente i pixel ARGB a 64 bit per pacchetti.
loadPixels(Rectangle rectangle)Carica i pixel.
loadCmykPixels(Rectangle rectangle)Carica i pixel in formato CMYK.
loadCmyk32Pixels(Rectangle rectangle)Carica i pixel in formato CMYK.
loadRawData(Rectangle rectangle, RawDataSettings rawDataSettings, IPartialRawDataLoader rawDataLoader)Carica i dati grezzi dell’immagine utilizzando il meccanismo di elaborazione parziale.
loadRawData(Rectangle rectangle, Rectangle dstImageBounds, RawDataSettings rawDataSettings, IPartialRawDataLoader rawDataLoader)Carica i dati grezzi.
saveRawData(byte[] data, int dataOffset, Rectangle rectangle, RawDataSettings rawDataSettings)Salva i dati grezzi.
saveArgb32Pixels(Rectangle rectangle, int[] pixels)Salva i pixel ARGB a 32 bit.
savePixels(Rectangle rectangle, Color[] pixels)Salva i pixel.
toBitmap()Converte l’immagine raster in bitmap.
saveCmykPixels(Rectangle rectangle, CmykColor[] pixels)Salva i pixel.
saveCmyk32Pixels(Rectangle rectangle, int[] pixels)Salva i pixel.
setResolution(double dpiX, double dpiY)Imposta la risoluzione per questo RasterImage.
setPalette(IColorPalette palette, boolean updateColors)Imposta la tavolozza dell’immagine.
autoRotate()Ruota automaticamente l’immagine in base ai dati di orientamento estratti dai metadati Exif.
resize(int newWidth, int newHeight, ImageResizeSettings settings)Ridimensiona l’immagine con opzioni estese.
rotate(float angle, boolean resizeProportionally, Color backgroundColor)Ruota l’immagine attorno al centro.
rotate(float angle)Ruota l’immagine attorno al centro.
binarizeFixed(byte threshold)Binarizzazione di un’immagine con soglia predefinita
binarizeOtsu()Binarizzazione di un’immagine con soglia di Otsu
binarizeBradley(double brightnessDifference)Binarizzazione di un’immagine usando l’algoritmo di sogliatura adattiva di Bradley basato sulla sogliatura dell’immagine integrale
binarizeBradley(double brightnessDifference, int windowSize)Binarizzazione di un’immagine usando l’algoritmo di sogliatura adattiva di Bradley basato sulla sogliatura dell’immagine integrale
blend(Point origin, RasterImage overlay, Rectangle overlayArea)Mescola questa istanza di immagine con l’immagine overlay.
blend(Point origin, RasterImage overlay, Rectangle overlayArea, byte overlayAlpha)Mescola questa istanza di immagine con l’immagine overlay.
blend(Point origin, RasterImage overlay)Unisce questa istanza di immagine con il overlay con alfa == 255.
blend(Point origin, RasterImage overlay, byte overlayAlpha)Unisce questa istanza di immagine con il overlay.
grayscale()Trasformazione di un’immagine nella sua rappresentazione in scala di grigi
normalizeHistogram()Normalizza l’istogramma dell’immagine \u2014 regola i valori dei pixel per utilizzare l’intera gamma disponibile.
autoBrightnessContrast()Normalizzazione automatica adattiva di luminosità e contrasto per l’intera immagine.
adjustBrightness(int brightness)Regola la luminosità dell’immagine.
adjustContrast(float contrast)Contrasto dell’immagine
embedDigitalSignature(String password)Incorpora una firma digitale basata sulla password fornita nell’immagine usando la steganografia.
analyzePercentageDigitalSignature(String password)Calcola la percentuale di somiglianza tra i dati estratti e la password originale.
isDigitalSigned(String password)Esegue un controllo rapido per determinare se l’immagine è firmata digitalmente, usando la password fornita e la soglia.
isDigitalSigned(String password, int percentageThreshold)Esegue un controllo rapido per determinare se l’immagine è firmata digitalmente, usando la password fornita e la soglia.
adjustGamma(float gammaRed, float gammaGreen, float gammaBlue)Correzione gamma di un’immagine.
adjustGamma(float gamma)Correzione gamma di un’immagine.
getSkewAngle()Ottiene l’angolo di inclinazione.
normalizeAngle()Normalizza l’angolo.
normalizeAngle(boolean resizeProportionally, Color backgroundColor)Normalizza l’angolo.
filter(Rectangle rectangle, FilterOptionsBase options)Filtra il rettangolo specificato.
replaceColor(Color oldColor, byte oldColorDiff, Color newColor)Sostituisce un colore con un altro con differenza consentita e preserva il valore alfa originale per mantenere bordi lisci.
replaceColor(int oldColorArgb, byte oldColorDiff, int newColorArgb)Sostituisce un colore con un altro con differenza consentita e preserva il valore alfa originale per mantenere bordi lisci.
replaceNonTransparentColors(Color newColor)Sostituisce tutti i colori non trasparenti con un nuovo colore e preserva il valore alfa originale per mantenere bordi lisci.
replaceNonTransparentColors(int newColorArgb)Sostituisce tutti i colori non trasparenti con un nuovo colore e preserva il valore alfa originale per mantenere bordi lisci.

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\\";

// Crea un'istanza di GifOptions e imposta le sue varie proprietà, inclusa la proprietà 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));

// Crea un'istanza di Image
com.aspose.imaging.RasterImage image = (com.aspose.imaging.RasterImage) com.aspose.imaging.Image.create(gifOptions, 500, 500);
try {
    // Ottieni i pixel dell'immagine specificando l'area come confine dell'immagine
    com.aspose.imaging.Color[] pixels = image.loadPixels(image.getBounds());

    // Itera sull'array e imposta il colore dei pixel indicizzati alternativi
    for (int index = 0; index < pixels.length; index++) {
        if (index % 2 == 0) {
            // Imposta il colore del pixel indicizzato su giallo
            pixels[index] = com.aspose.imaging.Color.getYellow();
        } else {
            // Imposta il colore del pixel indicizzato su blu
            pixels[index] = com.aspose.imaging.Color.getBlue();
        }
    }

    // Applica le modifiche dei pixel all'immagine
    image.savePixels(image.getBounds(), pixels);

    // Salva tutte le modifiche.
    image.save();
} finally {
    image.dispose();
}

getPremultiplyComponents()

public boolean getPremultiplyComponents()

Ottiene o imposta un valore che indica se i componenti dell’immagine devono essere premoltiplicati.

Returns: boolean - true se i componenti dell’immagine devono essere premoltiplicati; altrimenti, false.

setPremultiplyComponents(boolean value)

public void setPremultiplyComponents(boolean value)

Ottiene o imposta un valore che indica se i componenti dell’immagine devono essere premoltiplicati.

Parameters:

ParametroTipoDescrizione
valorebooleantrue se i componenti dell’immagine devono essere premoltiplicati; altrimenti, 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;

    // Salva i pixel per l'intera immagine.
    rasterImage.savePixels(rasterImage.getBounds(), colors);

    // I pixel sono memorizzati nell'immagine originale nella forma non premoltiplicata.
    // È necessario specificare esplicitamente l'opzione corrispondente per ottenere componenti di colore premoltiplicati.
    // I componenti di colore premoltiplicati sono calcolati con le formule:
    // 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()

Ottiene o imposta un valore che indica se utilizzare il caricamento di dati grezzi quando è disponibile.

Returns: boolean - true se si utilizza il caricamento di dati grezzi quando è disponibile; altrimenti, false.

setUseRawData(boolean value)

public void setUseRawData(boolean value)

Ottiene o imposta un valore che indica se utilizzare il caricamento di dati grezzi quando è disponibile.

Parameters:

ParametroTipoDescrizione
valorebooleantrue se si utilizza il caricamento di dati grezzi quando è disponibile; altrimenti, false.

getUpdateXmpData()

public boolean getUpdateXmpData()

Ottiene o imposta un valore che indica se aggiornare i metadati XMP.

Returns: boolean - true se si aggiornano i metadati XMP; altrimenti, false.

setUpdateXmpData(boolean value)

public void setUpdateXmpData(boolean value)

Ottiene o imposta un valore che indica se aggiornare i metadati XMP.

Parameters:

ParametroTipoDescrizione
valorebooleantrue se si aggiornano i metadati XMP; altrimenti, false.

getRawIndexedColorConverter()

public IIndexedColorConverter getRawIndexedColorConverter()

Ottiene o imposta il convertitore di colore indicizzato

Returns: IIndexedColorConverter - The indexed color converter

setRawIndexedColorConverter(IIndexedColorConverter value)

public void setRawIndexedColorConverter(IIndexedColorConverter value)

Ottiene o imposta il convertitore di colore indicizzato

Parameters:

ParametroTipoDescrizione
valueIIndexedColorConverterIl convertitore di colore indicizzato

getRawCustomColorConverter()

public IColorConverter getRawCustomColorConverter()

Ottiene o imposta il convertitore di colore personalizzato

Returns: IColorConverter - The custom color converter

setRawCustomColorConverter(IColorConverter value)

public void setRawCustomColorConverter(IColorConverter value)

Ottiene o imposta il convertitore di colore personalizzato

Parameters:

ParametroTipoDescrizione
valueIColorConverterIl convertitore di colore personalizzato

getRawFallbackIndex()

public int getRawFallbackIndex()

Ottiene o imposta l’indice di fallback da utilizzare quando l’indice della palette è fuori dai limiti

Returns: int - L’indice di fallback da utilizzare quando l’indice della tavolozza è fuori dai limiti

setRawFallbackIndex(int value)

public void setRawFallbackIndex(int value)

Ottiene o imposta l’indice di fallback da utilizzare quando l’indice della palette è fuori dai limiti

Parameters:

ParametroTipoDescrizione
valoreintL’indice di fallback da utilizzare quando l’indice della tavolozza è fuori dai limiti

getRawDataSettings()

public RawDataSettings getRawDataSettings()

Ottiene le impostazioni attuali dei dati grezzi. Nota che, quando si usano queste impostazioni, i dati vengono caricati senza conversione.

Returns: RawDataSettings

isUsePalette()

public boolean isUsePalette()

Restituisce un valore che indica se la tavolozza dell’immagine è utilizzata.

Valore: true se la tavolozza è usata nell’immagine; altrimenti, false.

Returns: boolean - un valore che indica se la tavolozza dell’immagine è usata.

getRawDataFormat()

public PixelDataFormat getRawDataFormat()

Ottiene il formato dei dati grezzi.

Returns: PixelDataFormat - The raw data format.

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


// I file immagine da caricare.
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();
    }
}

// L'output potrebbe apparire così:
// 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()

Ottiene la dimensione della riga grezza in byte.

Returns: int - La dimensione della riga grezza in byte.

isRawDataAvailable()

public boolean isRawDataAvailable()

Ottiene un valore che indica se il caricamento di dati grezzi è disponibile.

Returns: boolean - true se questo caricamento di dati grezzi è disponibile; altrimenti, false.

getHorizontalResolution()

public double getHorizontalResolution()

Ottiene o imposta la risoluzione orizzontale, in pixel per pollice, di questo RasterImage.

Returns: double - La risoluzione orizzontale.

Nota: per impostazione predefinita questo valore è sempre 96 poiché le diverse piattaforme non possono restituire la risoluzione dello schermo. Potresti considerare l’uso del metodo SetResolution per aggiornare entrambi i valori di risoluzione in una singola chiamata.

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;

    // Ottieni la risoluzione orizzontale e verticale dell'immagine
    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) {
        // Usa il metodo SetResolution per aggiornare entrambi i valori di risoluzione in una singola chiamata.
        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());
    }

    // L'output potrebbe apparire così:
    // La risoluzione orizzontale, in pixel per pollice: 300.0
    // La risoluzione verticale, in pixel per pollice: 300.0
    // Imposta i valori di risoluzione a 96 dpi
    // La risoluzione orizzontale, in pixel per pollice: 96.0
    // La risoluzione verticale, in pixel per pollice: 96.0
} finally {
    image.dispose();
}

setHorizontalResolution(double value)

public void setHorizontalResolution(double value)

Ottiene o imposta la risoluzione orizzontale, in pixel per pollice, di questo RasterImage.

Parameters:

ParametroTipoDescrizione
valoredouble

Nota: per impostazione predefinita questo valore è sempre 96 poiché le diverse piattaforme non possono restituire la risoluzione dello schermo. Potresti considerare l’uso del metodo SetResolution per aggiornare entrambi i valori di risoluzione in una singola chiamata. |

getVerticalResolution()

public double getVerticalResolution()

Ottiene o imposta la risoluzione verticale, in pixel per pollice, di questo RasterImage.

Returns: double - La risoluzione verticale.

Nota: per impostazione predefinita questo valore è sempre 96 poiché le diverse piattaforme non possono restituire la risoluzione dello schermo. Potresti considerare l’uso del metodo SetResolution per aggiornare entrambi i valori di risoluzione in una singola chiamata.

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;

    // Ottieni la risoluzione orizzontale e verticale dell'immagine
    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) {
        // Usa il metodo SetResolution per aggiornare entrambi i valori di risoluzione in una singola chiamata.
        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());
    }

    // L'output potrebbe apparire così:
    // La risoluzione orizzontale, in pixel per pollice: 300.0
    // La risoluzione verticale, in pixel per pollice: 300.0
    // Imposta i valori di risoluzione a 96 dpi
    // La risoluzione orizzontale, in pixel per pollice: 96.0
    // La risoluzione verticale, in pixel per pollice: 96.0
} finally {
    image.dispose();
}

setVerticalResolution(double value)

public void setVerticalResolution(double value)

Ottiene o imposta la risoluzione verticale, in pixel per pollice, di questo RasterImage.

Parameters:

ParametroTipoDescrizione
valoredouble

Nota: per impostazione predefinita questo valore è sempre 96 poiché le diverse piattaforme non possono restituire la risoluzione dello schermo. Potresti considerare l’uso del metodo SetResolution per aggiornare entrambi i valori di risoluzione in una singola chiamata. |

hasTransparentColor()

public boolean hasTransparentColor()

Ottiene un valore che indica se questa istanza di RasterImage ha un colore trasparente.


L’implementazione di base restituisce effettivamente `` se non viene sovrascritta in un’implementazione specifica che supporta questa funzionalità. Questa proprietà è principalmente utilizzata da FileFormat.Apng, FileFormat.Png, FileFormat.Gif, FileFormat.Tga per impostare un colore trasparente se un’immagine non supporta la trasparenza tramite canale alfa.

Returns: boolean - un valore che indica se questa istanza di RasterImage ha un colore trasparente.

hasAlpha()

public boolean hasAlpha()

Ottiene un valore che indica se questa istanza ha alfa.

Returns: boolean - true se questa istanza ha alfa; altrimenti, false.

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


// I file immagine da caricare.
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();
    }
}

// L'output potrebbe apparire così:
// 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()

Ottiene il colore trasparente dell’immagine.

Returns: Color

setTransparentColor(boolean value)

public void setTransparentColor(boolean value)

Imposta un valore che indica se questa istanza di RasterImage ha un colore trasparente.


L’implementazione di base restituisce effettivamente `` se non viene sovrascritta in un’implementazione specifica che supporta questa funzionalità. Questa proprietà è principalmente utilizzata da FileFormat.Apng, FileFormat.Png, FileFormat.Gif, FileFormat.Tga per impostare un colore trasparente se un’immagine non supporta la trasparenza tramite canale alfa.

Parameters:

ParametroTipoDescrizione
valuebooleanun valore che indica se questa istanza di RasterImage ha un colore trasparente.

setTransparentColor(Color value)

public void setTransparentColor(Color value)

Ottiene il colore trasparente dell’immagine.

Parameters:

ParametroTipoDescrizione
valueColor

getImageOpacity()

public float getImageOpacity()

Ottiene l’opacità di questa immagine.

Returns: float - Il valore di opacità compreso tra 0.0 (completamente trasparente) e 1.0 (completamente opaco).

removeMetadata()

public void removeMetadata()

Rimuove i metadati di questa istanza di immagine impostando il valore di IHasXmpData.XmpData(IHasXmpData.getXmpData/IHasXmpData.setXmpData(XmpPacketWrapper)) a null.

getModifyDate(boolean useDefault)

public Date getModifyDate(boolean useDefault)

Recupera la data e l’ora in cui l’immagine di risorsa ha subito l’ultima modifica. Questo metodo fornisce metadati preziosi, consentendo agli utenti di tracciare e gestire efficacemente gli aggiornamenti del file immagine. Accedendo a queste informazioni, gli utenti possono garantire l’integrità e l’aggiornamento delle proprie risorse immagine, facilitando decisioni informate sull’uso e la manutenzione delle immagini.

Parameters:

ParametroTipoDescrizione
useDefaultbooleanse impostato su true utilizza le informazioni da FileInfo come valore predefinito.

Returns: java.util.Date - La data e l’ora in cui l’immagine di risorsa è stata modificata l’ultima volta.

dither(int ditheringMethod, int bitsCount)

public void dither(int ditheringMethod, int bitsCount)

Esegue il dithering sull’immagine corrente.

Parameters:

ParametroTipoDescrizione
ditheringMethodintIl metodo di dithering.
bitsCountintIl conteggio finale dei bit per il dithering.

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;

    // Esegui il dithering a soglia usando una palette di colori a 4 bit che contiene 16 colori.
    // Più bit sono specificati, maggiore è la qualità e più grande è la dimensione dell'immagine di output.
    // Nota che al momento sono supportate solo palette a 1 bit, 4 bit e 8 bit.
    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;

    // Esegui il dithering Floyd usando una palette di colori a 1 bit che contiene solo 2 colori - nero e bianco.
    // Più bit sono specificati, maggiore è la qualità e più grande è la dimensione dell'immagine di output.
    // Nota che al momento sono supportate solo palette a 1 bit, 4 bit e 8 bit.
    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)

Esegue il dithering sull’immagine corrente.

Parameters:

ParametroTipoDescrizione
ditheringMethodintIl metodo di dithering.
bitsCountintIl conteggio finale dei bit per il dithering.
customPaletteIColorPaletteLa palette personalizzata per il dithering.

getDefaultPixels(Rectangle rectangle, IPartialArgb32PixelLoader partialPixelLoader)

public void getDefaultPixels(Rectangle rectangle, IPartialArgb32PixelLoader partialPixelLoader)

Ottiene l’array di pixel predefinito utilizzando il caricatore di pixel parziali.

Parameters:

ParametroTipoDescrizione
rectangleRectangleIl rettangolo per cui ottenere i pixel.
partialPixelLoaderIPartialArgb32PixelLoaderIl caricatore di pixel parziale.

getDefaultRawData(Rectangle rectangle, IPartialRawDataLoader partialRawDataLoader, RawDataSettings rawDataSettings)

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

Ottiene l’array di dati grezzi predefinito utilizzando il caricatore di pixel parziali.

Parameters:

ParametroTipoDescrizione
rectangleRectangleIl rettangolo per cui ottenere i pixel.
partialRawDataLoaderIPartialRawDataLoaderIl caricatore parziale di dati grezzi.
rawDataSettingsRawDataSettingsLe impostazioni dei dati grezzi.

getDefaultArgb32Pixels(Rectangle rectangle)

public int[] getDefaultArgb32Pixels(Rectangle rectangle)

Ottiene l’array di pixel ARGB a 32 bit predefinito.

Parameters:

ParametroTipoDescrizione
rectangleRectangleIl rettangolo per cui ottenere i pixel.

Returns: int[] - L’array di pixel predefinito.

getDefaultRawData(Rectangle rectangle, RawDataSettings rawDataSettings)

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

Ottiene l’array di dati grezzi predefinito.

Parameters:

ParametroTipoDescrizione
rectangleRectangleIl rettangolo da cui ottenere i dati grezzi.
rawDataSettingsRawDataSettingsLe impostazioni dei dati grezzi.

Returns: byte[] - L’array di dati grezzi predefinito.

getArgb32Pixel(int x, int y)

public int getArgb32Pixel(int x, int y)

Ottiene un pixel ARGB a 32 bit dell’immagine.

Parameters:

ParametroTipoDescrizione
xintLa posizione x del pixel.
yintLa posizione y del pixel.

Returns: int - Il pixel ARGB a 32 bit per la posizione specificata.

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;

    // Ottieni una rappresentazione intera del colore del pixel in alto a sinistra dell'immagine.
    int color = rasterImage.getArgb32Pixel(0, 0);

    // Per ottenere i valori dei singoli componenti di colore, sposta il valore del colore di un numero corrispondente di bit.
    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();
}

// L'output potrebbe apparire così:
// Il colore del pixel(0,0) è A=255,R=0,G=0,B=0

getPixel(int x, int y)

public Color getPixel(int x, int y)

Ottiene un pixel dell’immagine.

Parameters:

ParametroTipoDescrizione
xintLa posizione x del pixel.
yintLa posizione y del pixel.

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;

    // Ottieni il colore del pixel in alto a sinistra dell'immagine.
    com.aspose.imaging.Color color = rasterImage.getPixel(0, 0);

    // Ottieni i valori dei singoli componenti di colore
    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)

Imposta un pixel ARGB a 32 bit dell’immagine per la posizione specificata.

Parameters:

ParametroTipoDescrizione
xintLa posizione x del pixel.
yintLa posizione y del pixel.
argb32ColorintIl pixel ARGB a 32 bit per la posizione specificata.

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;

    // Imposta il colore del pixel in alto a sinistra.
    rasterImage.setArgb32Pixel(0, 0, com.aspose.imaging.Color.getAqua().toArgb());

    // Un altro modo è passare direttamente un'istanza di 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)

Imposta un pixel dell’immagine per la posizione specificata.

Parameters:

ParametroTipoDescrizione
xintLa posizione x del pixel.
yintLa posizione y del pixel.
colorColorIl colore del pixel per la posizione specificata.

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;

    // Imposta il colore del pixel in alto a sinistra.
    rasterImage.setArgb32Pixel(0, 0, com.aspose.imaging.Color.getAqua().toArgb());

    // Un altro modo è passare direttamente un'istanza di com.aspose.imaging.Color
    rasterImage.setPixel(0, 0, com.aspose.imaging.Color.getAqua());
} finally {
    image.dispose();
}

readScanLine(int scanLineIndex)

public Color[] readScanLine(int scanLineIndex)

Legge l’intera riga di scansione mediante l’indice di riga di scansione specificato.

Parameters:

ParametroTipoDescrizione
scanLineIndexintIndice basato su zero della riga di scansione.

Returns: com.aspose.imaging.Color[] - L’array dei valori di colore dei pixel della riga di scansione.

readArgb32ScanLine(int scanLineIndex)

public int[] readArgb32ScanLine(int scanLineIndex)

Legge l’intera riga di scansione mediante l’indice di riga di scansione specificato.

Parameters:

ParametroTipoDescrizione
scanLineIndexintIndice basato su zero della riga di scansione.

Returns: int[] - L’array dei valori di colore ARGB a 32 bit della riga di scansione.

writeScanLine(int scanLineIndex, Color[] pixels)

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

Scrive l’intera riga di scansione nell’indice di riga di scansione specificato.

Parameters:

ParametroTipoDescrizione
scanLineIndexintIndice basato su zero della riga di scansione.
pixelsColor[]L’array dei colori dei pixel da scrivere.

writeArgb32ScanLine(int scanLineIndex, int[] argb32Pixels)

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

Scrive l’intera riga di scansione nell’indice di riga di scansione specificato.

Parameters:

ParametroTipoDescrizione
scanLineIndexintIndice basato su zero della riga di scansione.
argb32Pixelsint[]L’array dei colori ARGB a 32 bit da scrivere.

loadPartialArgb32Pixels(Rectangle rectangle, IPartialArgb32PixelLoader partialPixelLoader)

public void loadPartialArgb32Pixels(Rectangle rectangle, IPartialArgb32PixelLoader partialPixelLoader)

Carica parzialmente i pixel ARGB a 32 bit per pacchetti.

Parameters:

ParametroTipoDescrizione
rectangleRectangleIl rettangolo desiderato.
partialPixelLoaderIPartialArgb32PixelLoaderIl caricatore di pixel ARGB a 32 bit.

Example: The following example shows how to load and process pixels of a raster image using your own partial processor. Il seguente esempio mostra come caricare e elaborare i pixel di un’immagine raster utilizzando il proprio processore parziale. Ad esempio, considerare un problema di conteggio dei pixel completamente trasparenti di un’immagine. Per contare i pixel trasparenti usando il meccanismo di caricamento parziale, viene introdotta una classe separata TransparentArgb32PixelCounter che implementa com.aspose.imaging.IPartialArgb32PixelLoader.


// Per prima cosa, implementa com.aspose.imaging.IPartialArgb32PixelLoader per contare tutti i pixel completamente trasparenti.
/** 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++;
            }
        }
    }
}

// Ecco un esempio di utilizzo del contatore.
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;

    // Crea un'istanza di com.aspose.imaging.IPartialArgb32PixelLoader e passala a com.aspose.imaging.RasterImage.LoadPartialArgb32Pixels
    TransparentArgb32PixelCounter counter = new TransparentArgb32PixelCounter();

    // Carica i pixel per l'intera immagine. Qualsiasi parte rettangolare dell'immagine può essere specificata come primo parametro del metodo 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();
}

// L'output potrebbe apparire così:
// Il numero di pixel completamente trasparenti è 55157
// Il numero totale di pixel è 120400

loadPartialPixels(Rectangle desiredRectangle, IPartialPixelLoader pixelLoader)

public void loadPartialPixels(Rectangle desiredRectangle, IPartialPixelLoader pixelLoader)

Carica i pixel parzialmente per pacchetti.

Parameters:

ParametroTipoDescrizione
desiredRectangleRectangleIl rettangolo desiderato.
pixelLoaderIPartialPixelLoaderIl caricatore di pixel.

Example: The following example shows how to load and process pixels of a raster image using your own partial processor. Il seguente esempio mostra come caricare e elaborare i pixel di un’immagine raster utilizzando il proprio processore parziale. Ad esempio, considera un problema di conteggio dei pixel completamente trasparenti di un’immagine. Per contare i pixel trasparenti usando il meccanismo di caricamento parziale, viene introdotta una classe separata TransparentPixelCounter che implementa com.aspose.imaging.IPartialPixelLoader.


// Per prima cosa, implementa com.aspose.imaging.IPartialPixelLoader per contare tutti i pixel completamente trasparenti.
/** 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++;
            }
        }
    }
}

// Ecco un esempio di utilizzo del contatore.
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;

    // Crea un'istanza di com.aspose.imaging.IPartialPixelLoader e passala a com.aspose.imaging.RasterImage.loadPartialPixels
    TransparentPixelCounter counter = new TransparentPixelCounter();

    // Carica i pixel per l'intera immagine. Qualsiasi parte rettangolare dell'immagine può essere specificata come primo parametro del metodo 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();
}

// L'output potrebbe apparire così:
// Il numero di pixel completamente trasparenti è 55157
// Il numero totale di pixel è 120400

loadArgb32Pixels(Rectangle rectangle)

public int[] loadArgb32Pixels(Rectangle rectangle)

Carica i pixel ARGB a 32 bit.

Parameters:

ParametroTipoDescrizione
rectangleRectangleIl rettangolo da cui caricare i pixel.

Returns: int[] - L’array di pixel ARGB a 32 bit caricato.

Example: The following example shows how to load and process pixels of a raster image. Il seguente esempio mostra come caricare e elaborare i pixel di un’immagine raster. I pixel sono rappresentati come valori interi a 32 bit. Ad esempio, considera un problema di conteggio dei pixel completamente trasparenti di un’immagine.


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;

    // Carica i pixel per l'intera immagine. Qualsiasi parte rettangolare dell'immagine può essere specificata come parametro del metodo 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)

Carica i pixel ARGB a 64 bit.

Parameters:

ParametroTipoDescrizione
rectangleRectangleIl rettangolo da cui caricare i pixel.

Returns: long[] - L’array di pixel ARGB a 64 bit caricato.

Example: The following example shows how to load and process pixels of a raster image. Il seguente esempio mostra come caricare e elaborare i pixel di un’immagine raster. I pixel sono rappresentati come valori interi a 64 bit. Ad esempio, considera un problema di conteggio dei pixel completamente trasparenti di un’immagine.

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;

    // Carica i pixel per l'intera immagine. Qualsiasi parte rettangolare dell'immagine può essere specificata come parametro del metodo com.aspose.imaging.RasterImage.loadArgb64Pixels.
    // Nota che l'immagine stessa deve avere 16 bit per campione, perché com.aspose.imaging.RasterImage.loadArgb64Pixels non funziona con 8 bit per campione.
    // Per lavorare con 8 bit per campione, utilizza il classico metodo com.aspose.imaging.RasterImage.loadArgb32Pixels.
    long[] pixels = rasterImage.loadArgb64Pixels(rasterImage.getBounds());

    int count = 0;
    for (long pixel : pixels) {
        // Nota che tutti i componenti di colore, inclusa l'alpha, sono rappresentati da valori a 16 bit, quindi i loro valori consentiti sono nell'intervallo [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)

Carica parzialmente i pixel ARGB a 64 bit per pacchetti.

Parameters:

ParametroTipoDescrizione
rectangleRectangleIl rettangolo desiderato.
partialPixelLoaderIPartialArgb64PixelLoaderIl caricatore di pixel ARGB a 64 bit.

loadPixels(Rectangle rectangle)

public Color[] loadPixels(Rectangle rectangle)

Carica i pixel.

Parameters:

ParametroTipoDescrizione
rectangleRectangleIl rettangolo da cui caricare i pixel.

Returns: com.aspose.imaging.Color[] - L’array di pixel caricato.

Example: The following example shows how to load and process pixels of a raster image. Il seguente esempio mostra come caricare e elaborare i pixel di un’immagine raster. Ad esempio, considera un problema di conteggio dei pixel completamente trasparenti di un’immagine.

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;

    // Carica i pixel per l'intera immagine. Qualsiasi parte rettangolare dell'immagine può essere specificata come parametro del metodo 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)

Carica i pixel in formato CMYK. Questo metodo è deprecato. Si prega di utilizzare in modo più efficace il metodo loadCmyk32Pixels(Rectangle).

Parameters:

ParametroTipoDescrizione
rectangleRectangleIl rettangolo da cui caricare i pixel.

Returns: com.aspose.imaging.CmykColor[] - L’array di pixel CMYK caricato.

loadCmyk32Pixels(Rectangle rectangle)

public int[] loadCmyk32Pixels(Rectangle rectangle)

Carica i pixel in formato CMYK.

Parameters:

ParametroTipoDescrizione
rectangleRectangleIl rettangolo da cui caricare i pixel.

Returns: int[] - I pixel CMYK caricati sono presentati come valori interi a 32 bit.

loadRawData(Rectangle rectangle, RawDataSettings rawDataSettings, IPartialRawDataLoader rawDataLoader)

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

Carica i dati grezzi dell’immagine utilizzando il meccanismo di elaborazione parziale.

Parameters:

ParametroTipoDescrizione
rectangleRectangleL’area rettangolare desiderata dell’immagine da cui caricare i dati.
rawDataSettingsRawDataSettingsLe impostazioni dei dati grezzi.
rawDataLoaderIPartialRawDataLoaderIl caricatore di dati grezzi.

Example: The following example shows how to extract pixels from the raw image data using RawDataSettings. Il seguente esempio mostra come estrarre i pixel dai dati grezzi dell’immagine usando RawDataSettings. Ad esempio, considerare un problema di conteggio dei pixel completamente trasparenti di un’immagine.


// Prima, implementare un contatore. Nel caso di dati grezzi, il contatore può apparire così:
/** 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();

        // Solo i formati semplici sono considerati qui per semplificare il codice.
        // Consideriamo solo immagini con 8 bit per campione.
        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) {
                        // Il canale alfa è memorizzato per ultimo, dopo i componenti di colore.
                        if (data[i + 3] == 0) {
                            this.count++;
                        }
                    }
                }
            }
            break;

            case com.aspose.imaging.PixelFormat.Grayscale: {
                if (channelBits.length == 2) {
                    // Alfa in scala di grigi
                    for (int i = 0; i < data.length; i += 2) {
                        // Il canale alfa è memorizzato per ultimo, dopo i componenti di colore.
                        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);
    }
}

// Ecco l'esempio principale di utilizzo del contatore
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);

    // Carica i pixel per l'intera immagine. Qualsiasi parte rettangolare dell'immagine può essere specificata come parametro del metodo 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();
}

// L'output potrebbe apparire così:
// Il numero di pixel completamente trasparenti è 55157
// Il numero totale di pixel è 120400

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

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

Carica i dati grezzi.

Parameters:

ParametroTipoDescrizione
rectangleRectangleIl rettangolo da cui caricare i dati grezzi.
dstImageBoundsRectangleI limiti dell’immagine di destinazione.
rawDataSettingsRawDataSettingsLe impostazioni dei dati grezzi da utilizzare per i dati caricati. Nota: se i dati non sono nel formato specificato, verrà eseguita la conversione dei dati.
rawDataLoaderIPartialRawDataLoaderIl caricatore di dati grezzi.

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

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

Salva i dati grezzi.

Parameters:

ParametroTipoDescrizione
datibyte[]I dati grezzi.
dataOffsetintL’offset iniziale dei dati grezzi.
rectangleRectangleIl rettangolo dei dati grezzi.
rawDataSettingsRawDataSettingsLe impostazioni dei dati grezzi in cui si trovano i dati.

saveArgb32Pixels(Rectangle rectangle, int[] pixels)

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

Salva i pixel ARGB a 32 bit.

Parameters:

ParametroTipoDescrizione
rectangleRectangleIl rettangolo in cui salvare i pixel.
pixelint[]L’array di pixel ARGB a 32 bit.

Example: The following example fills the central area of a raster image with black pixels using the com. Il seguente esempio riempie l’area centrale di un’immagine raster con pixel neri usando il metodo 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;

    // Il quadrato nero
    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();
    }

    // Disegna il quadrato nero al centro dell'immagine.
    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)

Salva i pixel.

Parameters:

ParametroTipoDescrizione
rectangleRectangleIl rettangolo in cui salvare i pixel.
pixelsColor[]L’array di pixel.

Example: The following example fills the central area of a raster image with black pixels using the com. Il seguente esempio riempie l’area centrale di un’immagine raster con pixel neri utilizzando il metodo 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;

    // Il quadrato nero
    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();
    }

    // Disegna il quadrato nero al centro dell'immagine.
    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()

Converte l’immagine raster in bitmap.

Returns: java.awt.image.BufferedImage - Il bitmap

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();

    // Elabora il bitmap Java nativo.
} finally {
    image.dispose();
}

saveCmykPixels(Rectangle rectangle, CmykColor[] pixels)

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

Salva i pixel. Questo metodo è deprecato. Si prega di utilizzare il metodo più efficace saveCmyk32Pixels(Rectangle, int[]).

Parameters:

ParametroTipoDescrizione
rectangleRectangleIl rettangolo in cui salvare i pixel.
pixelsCmykColor[]L’array di pixel CMYK.

saveCmyk32Pixels(Rectangle rectangle, int[] pixels)

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

Salva i pixel.

Parameters:

ParametroTipoDescrizione
rectangleRectangleIl rettangolo in cui salvare i pixel.
pixelint[]I pixel CMYK presentati come valori interi a 32 bit.

Example: The following example fills the central area of a raster image with black pixels using the com. Il seguente esempio riempie l’area centrale di un’immagine raster con pixel neri utilizzando il metodo 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;

    // Ottieni una rappresentazione intera del nero nello spazio colore CMYK.
    int blackCmyk = com.aspose.imaging.CmykColorHelper.toCmyk(com.aspose.imaging.Color.getBlack());

    // Il quadrato nero.
    int[] pixels = new int[(rasterImage.getWidth() / 2) * (rasterImage.getHeight() / 2)];
    for (int i = 0; i < pixels.length; i++) {
        pixels[i] = blackCmyk;
    }

    // Disegna il quadrato nero al centro dell'immagine.
    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)

Imposta la risoluzione per questo RasterImage.

Parameters:

ParametroTipoDescrizione
dpiXdoubleLa risoluzione orizzontale, in punti per pollice, del RasterImage.
dpiYdoubleLa risoluzione verticale, in punti per pollice, del 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;

    // Ottieni la risoluzione orizzontale e verticale dell'immagine
    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) {
        // Usa il metodo SetResolution per aggiornare entrambi i valori di risoluzione in una singola chiamata.
        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());
    }

    // L'output potrebbe apparire così:
    // La risoluzione orizzontale, in pixel per pollice: 300.0
    // La risoluzione verticale, in pixel per pollice: 300.0
    // Imposta i valori di risoluzione a 96 dpi
    // La risoluzione orizzontale, in pixel per pollice: 96.0
    // La risoluzione verticale, in pixel per pollice: 96.0
} finally {
    image.dispose();
}

setPalette(IColorPalette palette, boolean updateColors)

public void setPalette(IColorPalette palette, boolean updateColors)

Imposta la tavolozza dell’immagine.

Parameters:

ParametroTipoDescrizione
paletteIColorPaletteLa tavolozza da impostare.
updateColorsbooleanse impostato su true i colori verranno aggiornati secondo la nuova tavolozza; altrimenti gli indici dei colori rimarranno invariati. Nota che gli indici invariati possono causare il crash dell’immagine durante il caricamento se alcuni indici non hanno voci corrispondenti nella tavolozza.

autoRotate()

public final void autoRotate()

Ruota automaticamente l’immagine in base ai dati di orientamento estratti dai metadati Exif. Questo metodo garantisce che le immagini vengano visualizzate nella corretta orientazione, migliorando l’esperienza dell’utente ed eliminando la necessità di regolazioni manuali. Analizzando le informazioni Exif, l’immagine viene ruotata di conseguenza, offrendo un’esperienza di visualizzazione fluida su diverse piattaforme e dispositivi. Questo processo di rotazione automatizzato semplifica la gestione delle immagini e migliora l’usabilità complessiva, soprattutto quando si lavora con grandi lotti di immagini con orientamenti variabili.

resize(int newWidth, int newHeight, ImageResizeSettings settings)

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

Ridimensiona l’immagine con opzioni estese.

Parameters:

ParametroTipoDescrizione
newWidthintLa nuova larghezza.
newHeightintLa nuova altezza.
settingsImageResizeSettingsLe impostazioni di ridimensionamento.

rotate(float angle, boolean resizeProportionally, Color backgroundColor)

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

Ruota l’immagine attorno al centro.

Parameters:

ParametroTipoDescrizione
anglefloatL’angolo di rotazione in gradi. I valori positivi ruoteranno in senso orario.
resizeProportionallybooleanse impostato su true le dimensioni dell’immagine verranno modificate in base alle proiezioni del rettangolo ruotato (punti d’angolo); altrimenti le dimensioni rimarranno inalterate e solo il contenuto interno dell’immagine verrà ruotato.
backgroundColorColorColore dello sfondo.

rotate(float angle)

public void rotate(float angle)

Ruota l’immagine attorno al centro.

Parameters:

ParametroTipoDescrizione
anglefloatL’angolo di rotazione in gradi. I valori positivi ruoteranno in senso orario.

binarizeFixed(byte threshold)

public void binarizeFixed(byte threshold)

Binarizzazione di un’immagine con soglia predefinita

Parameters:

ParametroTipoDescrizione
thresholdbyteValore di soglia. Se il valore grigio corrispondente di un pixel è maggiore della soglia, verrà assegnato il valore 255, altrimenti 0.

Example: The following example binarizes a raster image with the predefined threshold. Il seguente esempio binarizza un’immagine raster con la soglia predefinita. Le immagini binarie contengono solo 2 colori - nero e bianco.

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;

    // Binarizza l'immagine con un valore di soglia di 127.
    // Se il valore di grigio corrispondente di un pixel è maggiore di 127, gli verrà assegnato un valore di 255, altrimenti 0.
    rasterImage.binarizeFixed((byte) 127);
    rasterImage.save(dir + "sample.BinarizeFixed.png");
} finally {
    image.dispose();
}

binarizeOtsu()

public void binarizeOtsu()

Binarizzazione di un’immagine con soglia di Otsu

Example: The following example binarizes a raster image with Otsu thresholding. Il seguente esempio binarizza un’immagine raster con la soglia di Otsu. Le immagini binarie contengono solo 2 colori - nero e bianco.

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;

    // Binarizza l'immagine con la sogliatura di Otsu.
    rasterImage.binarizeOtsu();
    rasterImage.save(dir + "sample.BinarizeOtsu.png");
} finally {
    image.dispose();
}

binarizeBradley(double brightnessDifference)

public void binarizeBradley(double brightnessDifference)

Binarizzazione di un’immagine usando l’algoritmo di sogliatura adattiva di Bradley basato sulla sogliatura dell’immagine integrale

Parameters:

ParametroTipoDescrizione
brightnessDifferencedoubleLa differenza di luminosità tra il pixel e la media di una finestra s x s di pixel centrata su questo pixel.

binarizeBradley(double brightnessDifference, int windowSize)

public void binarizeBradley(double brightnessDifference, int windowSize)

Binarizzazione di un’immagine usando l’algoritmo di sogliatura adattiva di Bradley basato sulla sogliatura dell’immagine integrale

Parameters:

ParametroTipoDescrizione
brightnessDifferencedoubleLa differenza di luminosità tra il pixel e la media di una finestra s x s di pixel centrata su questo pixel.
windowSizeintLa dimensione della finestra s x s di pixel centrata su questo pixel.

Example: The following example binarizes a raster image with Bradley’s adaptive thresholding algorithm with the specified window size. Il seguente esempio binarizza un’immagine raster con l’algoritmo di soglia adattiva di Bradley con la dimensione della finestra specificata. Le immagini binarie contengono solo 2 colori - nero e bianco.

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;

    // Binarizza l'immagine con una differenza di luminosità di 5. La luminosità è la differenza tra un pixel e la media di una finestra 10 x 10 di pixel centrata su quel pixel.
    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)

Mescola questa istanza di immagine con l’immagine overlay.

Parameters:

ParametroTipoDescrizione
originPointL’origine della fusione dell’immagine di sfondo.
overlayRasterImageL’immagine di sovrapposizione.
overlayAreaRectangleL’area di sovrapposizione.

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

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

Mescola questa istanza di immagine con l’immagine overlay.

Parameters:

ParametroTipoDescrizione
originPointL’origine della fusione dell’immagine di sfondo.
overlayRasterImageL’immagine di sovrapposizione.
overlayAreaRectangleL’area di sovrapposizione.
overlayAlphabyteL’alpha di sovrapposizione.

blend(Point origin, RasterImage overlay)

public final void blend(Point origin, RasterImage overlay)

Unisce questa istanza di immagine con il overlay con alfa == 255.

Parameters:

ParametroTipoDescrizione
originPointL’origine della fusione dell’immagine di sfondo.
overlayRasterImageLa sovrapposizione.

blend(Point origin, RasterImage overlay, byte overlayAlpha)

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

Unisce questa istanza di immagine con il overlay.

Parameters:

ParametroTipoDescrizione
originPointL’origine della fusione dell’immagine di sfondo.
overlayRasterImageLa sovrapposizione.
overlayAlphabyteL’alpha di sovrapposizione.

grayscale()

public void grayscale()

Trasformazione di un’immagine nella sua rappresentazione in scala di grigi

Example: The following example transforms a colored raster image to its grayscale representation. Il seguente esempio trasforma un’immagine raster a colori nella sua rappresentazione in scala di grigi. Le immagini in scala di grigi sono composte esclusivamente da sfumature di grigio e contengono solo informazioni di intensità.

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()

Normalizza l’istogramma dell’immagine \u2014 regola i valori dei pixel per utilizzare l’intera gamma disponibile.

autoBrightnessContrast()

public void autoBrightnessContrast()

Normalizzazione automatica adattiva di luminosità e contrasto per l’intera immagine.

adjustBrightness(int brightness)

public void adjustBrightness(int brightness)

Regola la luminosità dell’immagine.

Parameters:

ParametroTipoDescrizione
brightnessintValore di luminosità.

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;

    // Imposta il valore di luminosità. I valori accettati per la luminosità sono nell'intervallo [-255, 255].
    rasterImage.adjustBrightness(50);
    rasterImage.save(dir + "sample.AdjustBrightness.png");
} finally {
    image.dispose();
}

adjustContrast(float contrast)

public void adjustContrast(float contrast)

Contrasto dell’immagine

Parameters:

ParametroTipoDescrizione
contrastfloatValore di contrasto (nell’intervallo [-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;

    // Imposta il valore di contrasto. I valori accettati per il contrasto sono nell'intervallo [-100f, 100f].
    rasterImage.adjustContrast(50);
    rasterImage.save(dir + "sample.AdjustContrast.png");
} finally {
    image.dispose();
}

embedDigitalSignature(String password)

public void embedDigitalSignature(String password)

Incorpora una firma digitale basata sulla password fornita nell’immagine usando la steganografia.

Parameters:

ParametroTipoDescrizione
passwordjava.lang.StringLa password utilizzata per generare i dati della firma digitale

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)

Calcola la percentuale di somiglianza tra i dati estratti e la password originale.

Parameters:

ParametroTipoDescrizione
passwordjava.lang.StringLa password utilizzata per estrarre i dati incorporati.

Returns: int - Il valore di percentuale di somiglianza.

isDigitalSigned(String password)

public boolean isDigitalSigned(String password)

Esegue un controllo rapido per determinare se l’immagine è firmata digitalmente, usando la password fornita e la soglia.


Questo metodo fornisce la rilevazione più veloce sfruttando GetSignPercentage. Una volta che i dati estratti raggiungono la soglia specificata, i passaggi di estrazione successivi volti a migliorare la precisione della rilevazione vengono saltati.

Parameters:

ParametroTipoDescrizione
passwordjava.lang.StringLa password per verificare la firma.

Returns: boolean - True se l’immagine è firmata, altrimenti false.

isDigitalSigned(String password, int percentageThreshold)

public boolean isDigitalSigned(String password, int percentageThreshold)

Esegue un controllo rapido per determinare se l’immagine è firmata digitalmente, usando la password fornita e la soglia.


Questo metodo fornisce la rilevazione più veloce sfruttando GetSignPercentage. Una volta che i dati estratti raggiungono la soglia specificata, i passaggi di estrazione successivi volti a migliorare la precisione della rilevazione vengono saltati.

Parameters:

ParametroTipoDescrizione
passwordjava.lang.StringLa password per verificare la firma.
percentageThresholdintLa soglia (in percentuale)[0-100] che determina se l’immagine è considerata firmata. Se non specificata, verrà applicata una soglia predefinita (75).

Returns: boolean - True se l’immagine è firmata, altrimenti false.

adjustGamma(float gammaRed, float gammaGreen, float gammaBlue)

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

Correzione gamma di un’immagine.

Parameters:

ParametroTipoDescrizione
gammaRedfloatGamma per il coefficiente del canale rosso
gammaGreenfloatGamma per il coefficiente del canale verde
gammaBluefloatCoefficiente gamma per il canale blu

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;

    // Imposta i coefficienti gamma individuali per i canali rosso, verde e blu.
    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)

Correzione gamma di un’immagine.

Parameters:

ParametroTipoDescrizione
gammafloatCoefficiente gamma per i canali rosso, verde e blu

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;

    // Imposta il coefficiente gamma per i canali rosso, verde e blu.
    rasterImage.adjustGamma(2.5f);
    rasterImage.save(dir + "sample.AdjustGamma.png");
} finally {
    image.dispose();
}

getSkewAngle()

public final float getSkewAngle()

Ottiene l’angolo di inclinazione. Questo metodo è applicabile ai documenti di testo scansionati, per determinare l’angolo di inclinazione durante la scansione.

Returns: float - L’angolo di inclinazione, in gradi.

normalizeAngle()

public final void normalizeAngle()

Normalizza l’angolo. Questo metodo è applicabile ai documenti di testo scansionati per eliminare la scansione inclinata. Questo metodo utilizza #getSkewAngle.getSkewAngle e i metodi Image.rotate(float).

normalizeAngle(boolean resizeProportionally, Color backgroundColor)

public void normalizeAngle(boolean resizeProportionally, Color backgroundColor)

Normalizza l’angolo. Questo metodo è applicabile ai documenti di testo scansionati per eliminare la scansione inclinata. Questo metodo utilizza #getSkewAngle.getSkewAngle e i metodi #rotate(float, boolean, Color).rotate(float, boolean, Color).

Parameters:

ParametroTipoDescrizione
resizeProportionallybooleanse impostato su true le dimensioni dell’immagine verranno modificate in base alle proiezioni del rettangolo ruotato (punti d’angolo); altrimenti le dimensioni rimarranno inalterate e solo il contenuto interno dell’immagine verrà ruotato.
backgroundColorColorColore dello sfondo.

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. La distorsione è un artefatto che può comparire durante il processo di scansione di un documento quando il testo/immagini del documento vengono ruotati di un leggero angolo. Può avere varie cause, ma la più comune è che la carta venga spostata durante la scansione. Pertanto, la correzione dell’inclinazione (deskew) è il processo di rilevare e correggere questo problema sui file scansionati (i.e. bitmap) in modo che i documenti corretti abbiano il testo/immagini correttamente e orizzontalmente allineati.

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

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

// Elimina la scansione inclinata con i parametri predefiniti
com.aspose.imaging.RasterImage image = (com.aspose.imaging.RasterImage) com.aspose.imaging.Image.load(inputFilePath);
try {
    // Deskew
    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)

Filtra il rettangolo specificato.

Parameters:

ParametroTipoDescrizione
rectangleRectangleIl rettangolo.
optionsFilterOptionsBaseLe opzioni.

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;

    // Applica un filtro mediano con una dimensione del rettangolo di 5 all'intera immagine.
    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;

    // Applica un filtro di levigatura bilaterale con una dimensione del kernel di 5 all'intera immagine.
    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;

    // Applica un filtro di sfocatura gaussiana con un raggio di 5 e un valore sigma di 4.0 all'intera immagine.
    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;

    // Applica un filtro Gauss-Wiener con un raggio di 5 e un valore di levigatura di 4.0 all'intera immagine.
    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;

    // Applica un filtro motion Wiener con una lunghezza di 5, un valore di levigatura di 4.0 e un angolo di 90.0 gradi all'intera immagine.
    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;

    // Applica un filtro di nitidezza con una dimensione del kernel di 5 e un valore sigma di 4.0 all'intera immagine.
    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)

Sostituisce un colore con un altro con differenza consentita e preserva il valore alfa originale per mantenere bordi lisci.

Parameters:

ParametroTipoDescrizione
oldColorColorColore vecchio da sostituire.
oldColorDiffbyteDifferenza consentita nel colore vecchio per poter ampliare la tonalità del colore sostituito.
newColorColorNuovo colore con cui sostituire il colore vecchio.

replaceColor(int oldColorArgb, byte oldColorDiff, int newColorArgb)

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

Sostituisce un colore con un altro con differenza consentita e preserva il valore alfa originale per mantenere bordi lisci.

Parameters:

ParametroTipoDescrizione
oldColorArgbintValore ARGB del colore vecchio da sostituire.
oldColorDiffbyteDifferenza consentita nel colore vecchio per poter ampliare la tonalità del colore sostituito.
newColorArgbintNuovo valore ARGB del colore da utilizzare per sostituire il colore vecchio.

replaceNonTransparentColors(Color newColor)

public void replaceNonTransparentColors(Color newColor)

Sostituisce tutti i colori non trasparenti con il nuovo colore e preserva il valore alfa originale per mantenere bordi lisci. Nota: se lo utilizzi su immagini senza trasparenza, tutti i colori saranno sostituiti con un unico colore.

Parameters:

ParametroTipoDescrizione
newColorColorNuovo colore con cui sostituire i colori non trasparenti.

replaceNonTransparentColors(int newColorArgb)

public void replaceNonTransparentColors(int newColorArgb)

Sostituisce tutti i colori non trasparenti con il nuovo colore e preserva il valore alfa originale per mantenere bordi lisci. Nota: se lo utilizzi su immagini senza trasparenza, tutti i colori saranno sostituiti con un unico colore.

Parameters:

ParametroTipoDescrizione
newColorArgbintNuovo valore ARGB del colore da utilizzare per sostituire i colori non trasparenti.