RasterCachedImage

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

public abstract class RasterCachedImage extends RasterImage

Representerar en rasterbild som stöder rastergrafikoperationer. Denna bild cachar pixeldata vid behov.

Metoder

MetodBeskrivning
isCached()Hämtar ett värde som indikerar om bilddata för närvarande är cachad.
cacheData()Cachar data och säkerställer att ingen ytterligare dataladdning kommer att utföras från den underliggande DataStreamSupporter.DataStreamContainer.
blend(Point origin, RasterImage overlay, Rectangle overlayArea, byte overlayAlpha)Blandar denna bildinstans med overlay-bilden.
resize(int newWidth, int newHeight, int resizeType)Ändrar storlek på bilden.
resize(int newWidth, int newHeight, ImageResizeSettings settings)Ändrar storlek på bilden.
rotateFlip(int rotateFlipType)Roterar, vänder eller roterar och vänder bilden.
rotate(float angle, boolean resizeProportionally, Color backgroundColor)Rotera bilden kring centrum.
crop(Rectangle rectangle)Beskär bilden.
dither(int ditheringMethod, int bitsCount, IColorPalette customPalette)Utför dithering på den aktuella bilden.
grayscale()Transformation av en bild till dess gråskale-representation
normalizeHistogram()Normaliserar bildens histogram \u2014 justera pixelvärden för att använda hela tillgängliga intervallet.
autoBrightnessContrast()Utför automatisk adaptiv ljusstyrke- och kontrastnormalisering för hela bilden.
binarizeFixed(byte threshold)Binarisering av en bild med fördefinierad tröskel
binarizeOtsu()Binarisering av en bild med Otsu-tröskling
binarizeBradley(double brightnessDifference, int windowSize)Binarisering av en bild med Bradleys adaptiva tröskelalgoritm med hjälp av integralbildströskling
binarizeBradley(double brightnessDifference)Binarisering av en bild med Bradleys adaptiva tröskelalgoritm med hjälp av integralbildströskling
adjustBrightness(int brightness)Justering av bildens ljusstyrka.
adjustContrast(float contrast)Bildkontrast
adjustGamma(float gammaRed, float gammaGreen, float gammaBlue)Gamma-korrigering av en bild.
adjustGamma(float gamma)Gamma-korrigering av en bild.
embedDigitalSignature(String password)Bädda in digital signatur baserad på angivet lösenord i bilden med hjälp av steganografi.
analyzePercentageDigitalSignature(String password)Beräknar procentuell likhet mellan den extraherade datan och det ursprungliga lösenordet.
isDigitalSigned(String password, int percentageThreshold)Utför en snabb kontroll för att avgöra om bilden är digitalt signerad, med det angivna lösenordet och tröskeln.

Example: The following example transforms a colored raster cached image to its grayscale representation.

Följande exempel omvandlar en färgad rastercachad bild till dess gråskale-representation. Gråskalebilder består uteslutande av gråtoner och innehåller endast intensitetsinformation.

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

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

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

isCached()

public boolean isCached()

Hämtar ett värde som indikerar om bilddata för närvarande är cachad.

Returns: boolean - true om bilddata är cachad; annars false.

cacheData()

public void cacheData()

Cachar data och säkerställer att ingen ytterligare dataladdning kommer att utföras från den underliggande DataStreamSupporter.DataStreamContainer.

Example: The following example shows how raster image caching affects performance. Följande exempel visar hur rasterbildscachning påverkar prestanda. I allmänhet läses cachad data snabbare än icke-cachad data.

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

// Läs in en bild från en PNG-fil.
com.aspose.imaging.RasterCachedImage image = (com.aspose.imaging.RasterCachedImage) com.aspose.imaging.Image.load(dir + "sample.png");
try {
    // Cacha all pixeldata så att ingen ytterligare dataladdning utförs från den underliggande datastreamen
    image.cacheData();

    long startTime = System.currentTimeMillis();

    // Att läsa alla pixlar är ganska snabbt.
    for (int y = 0; y < image.getHeight(); y++) {
        for (int x = 0; x < image.getWidth(); x++) {
            int color = image.getArgb32Pixel(x, y);
        }
    }

    long stopTime = System.currentTimeMillis();
    long elapsedMilliseconds = stopTime - startTime;
    System.out.println("Reading all cached pixels took " + elapsedMilliseconds + " ms.");
} finally {
    image.dispose();
}

// Läs in en bild från en PNG-fil
image = (com.aspose.imaging.RasterCachedImage) com.aspose.imaging.Image.load(dir + "sample.png");
try {
    long startTime = System.currentTimeMillis();

    // Att läsa alla pixlar är inte lika snabbt som vid cachning
    for (int y = 0; y < image.getHeight(); y++) {
        for (int x = 0; x < image.getWidth(); x++) {
            int color = image.getArgb32Pixel(x, y);
        }
    }

    long stopTime = System.currentTimeMillis();
    long elapsedMilliseconds = stopTime - startTime;
    System.out.println("Reading all pixels without preliminary caching took " + elapsedMilliseconds + " ms.");
} finally {
    image.dispose();
}

// Utdata kan se ut så här:
//Att läsa alla cachade pixlar tog 2923 ms.
//    java.lang.OutOfMemoryError
//at com.aspose.imaging.internal.G.be.b(Unknown Source)
//at com.aspose.imaging.internal.G.be.a(Unknown Source)
//at com.aspose.imaging.internal.G.be.a(Unknown Source)
//at com.aspose.imaging.internal.G.be.a(Unknown Source)
//at com.aspose.imaging.internal.G.aB.a(Unknown Source)
//at com.aspose.imaging.RasterImage.a(Unknown Source)
//at com.aspose.imaging.RasterImage.getArgb32Pixel(Unknown Source)
//at com.aspose.examples.ExamplesTest.Test(ExamplesTest.java:54)

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

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

Blandar denna bildinstans med overlay-bilden.

Parameters:

ParameterTypBeskrivning
originPointBakgrundsbildens blandningsursprung.
overlayRasterImageÖverlagringsbilden.
overlayAreaRectangleÖverlagringsområdet.
overlayAlphabyteÖverlagringsalfa.

resize(int newWidth, int newHeight, int resizeType)

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

Ändrar storlek på bilden.

Parameters:

ParameterTypBeskrivning
newWidthintDen nya bredden.
newHeightintDen nya höjden.
resizeTypeintTypen av storleksändring.

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

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

com.aspose.imaging.RasterCachedImage image = (com.aspose.imaging.RasterCachedImage) com.aspose.imaging.Image.load(dir + "sample.png");
try {
    // Skala upp 2 gånger med Nearest Neighbour-omprovning.
    image.resize(image.getWidth() * 2, image.getHeight() * 2, com.aspose.imaging.ResizeType.NearestNeighbourResample);

    // Spara som PNG med standardalternativ.
    image.save(dir + "upsample.nearestneighbour.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

image = (com.aspose.imaging.RasterCachedImage) com.aspose.imaging.Image.load(dir + "sample.png");
try {
    // Skala ner 2 gånger med Nearest Neighbour-omprovning.
    image.resize(image.getWidth() / 2, image.getHeight() / 2, com.aspose.imaging.ResizeType.NearestNeighbourResample);

    // Spara som PNG med standardalternativ.
    image.save(dir + "downsample.nearestneighbour.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

image = (com.aspose.imaging.RasterCachedImage) com.aspose.imaging.Image.load(dir + "sample.png");
try {
    // Skala upp 2 gånger med bilinjär omprovning.
    image.resize(image.getWidth() * 2, image.getHeight() * 2, com.aspose.imaging.ResizeType.BilinearResample);

    // Spara som PNG med standardalternativ.
    image.save(dir + "upsample.bilinear.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

image = (com.aspose.imaging.RasterCachedImage) com.aspose.imaging.Image.load(dir + "sample.png");
try {
    // Skala ner 2 gånger med bilinjär omprovning.
    image.resize(image.getWidth() / 2, image.getHeight() / 2, com.aspose.imaging.ResizeType.BilinearResample);

    // Spara som PNG med standardalternativ.
    image.save(dir + "downsample.bilinear.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

resize(int newWidth, int newHeight, ImageResizeSettings settings)

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

Ändrar storlek på bilden.

Parameters:

ParameterTypBeskrivning
newWidthintDen nya bredden.
newHeightintDen nya höjden.
settingsImageResizeSettingsInställningarna för storleksändring.

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

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

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

// Den adaptiva algoritmen baserad på viktad och blandad rationell funktion och lanczos3-interpolation.
resizeSettings.setMode(com.aspose.imaging.ResizeType.AdaptiveResample);

// Det lilla rektangulära filtret
resizeSettings.setFilterType(com.aspose.imaging.ImageFilterType.SmallRectangular);

// Antalet färger i paletten.
resizeSettings.setEntriesCount(256);

// Färgkvantiseringen används inte
resizeSettings.setColorQuantizationMethod(com.aspose.imaging.ColorQuantizationMethod.None);

// Den euklidiska metoden
resizeSettings.setColorCompareMethod(com.aspose.imaging.ColorCompareMethod.Euclidian);

com.aspose.imaging.RasterCachedImage image = (com.aspose.imaging.RasterCachedImage) com.aspose.imaging.Image.load(dir + "sample.png");
try {
    // Skala ner med 2 gånger med adaptiv omsampling.
    image.resize(image.getWidth() / 2, image.getHeight() / 2, resizeSettings);
    image.save(dir + "downsample.adaptive.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

rotateFlip(int rotateFlipType)

public void rotateFlip(int rotateFlipType)

Roterar, vänder eller roterar och vänder bilden.

Parameters:

ParameterTypBeskrivning
rotateFlipTypeintDen roterande vändningstypen.

Example: This example loads a raster cached image, rotates it by 90 degrees clockwise and optionally flips the image horizontally and(or) vertically.

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

// Detta är en hjälparklass.
class LocalHelper {
    // Hämtar en strängrepresentation av roterings‑vändningstypen.
    public String rotateFlipTypeToString(int rotateFilpType) {
        switch (rotateFilpType) {
            case com.aspose.imaging.RotateFlipType.RotateNoneFlipNone:
                return "RotateNoneFlipNone";
            case com.aspose.imaging.RotateFlipType.Rotate90FlipNone:
                return "Rotate90FlipNone";
            case com.aspose.imaging.RotateFlipType.Rotate180FlipNone:
                return "Rotate180FlipNone";
            case com.aspose.imaging.RotateFlipType.Rotate270FlipNone:
                return "Rotate270FlipNone";
            case com.aspose.imaging.RotateFlipType.RotateNoneFlipX:
                return "RotateNoneFlipX";
            case com.aspose.imaging.RotateFlipType.Rotate90FlipX:
                return "Rotate90FlipX";
            case com.aspose.imaging.RotateFlipType.Rotate180FlipX:
                return "Rotate180FlipX";
            case com.aspose.imaging.RotateFlipType.Rotate270FlipX:
                return "Rotate270FlipX";
            case com.aspose.imaging.RotateFlipType.RotateNoneFlipY:
                return "RotateNoneFlipY";
            case com.aspose.imaging.RotateFlipType.Rotate90FlipY:
                return "Rotate90FlipY";
            case com.aspose.imaging.RotateFlipType.Rotate180FlipY:
                return "Rotate180FlipY";
            case com.aspose.imaging.RotateFlipType.Rotate270FlipY:
                return "Rotate270FlipY";
            case com.aspose.imaging.RotateFlipType.RotateNoneFlipXY:
                return "RotateNoneFlipXY";
            case com.aspose.imaging.RotateFlipType.Rotate90FlipXY:
                return "Rotate90FlipXY";
            case com.aspose.imaging.RotateFlipType.Rotate180FlipXY:
                return "Rotate180FlipXY";
            case com.aspose.imaging.RotateFlipType.Rotate270FlipXY:
                return "Rotate270FlipXY";
            default:
                throw new java.lang.IllegalArgumentException("rotateFlipType");
        }
    }
}

// Här är huvudexemplet
int[] rotateFlipTypes = new int[]
        {
                com.aspose.imaging.RotateFlipType.Rotate90FlipNone,
                com.aspose.imaging.RotateFlipType.Rotate90FlipX,
                com.aspose.imaging.RotateFlipType.Rotate90FlipXY,
                com.aspose.imaging.RotateFlipType.Rotate90FlipY,
        };

LocalHelper localHelper = new LocalHelper();
for (int rotateFlipType : rotateFlipTypes) {
    // Rotera, vänd och spara till utdatafilen.
    com.aspose.imaging.RasterCachedImage image = (com.aspose.imaging.RasterCachedImage) com.aspose.imaging.Image.load(dir + "sample.bmp");
    try {
        image.rotateFlip(rotateFlipType);
        image.save(dir + "sample." + localHelper.rotateFlipTypeToString(rotateFlipType) + ".bmp");
    } finally {
        image.dispose();
    }
}

rotate(float angle, boolean resizeProportionally, Color backgroundColor)

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

Rotera bilden kring centrum.

Parameters:

ParameterTypBeskrivning
anglefloatRotationsvinkeln i grader. Positiva värden roterar medurs.
resizeProportionallybooleanom den är inställd på true kommer bildens storlek att ändras enligt den roterade rektangelns (hörnpunkternas) projektioner, i annat fall lämnas dimensionerna orörda och endast bildens innehåll roteras.
backgroundColorColorFärgen på bakgrunden.

crop(Rectangle rectangle)

public void crop(Rectangle rectangle)

Beskär bilden.

Parameters:

ParameterTypBeskrivning
rectangleRectangleRektangeln.

Example: The following example crops a raster cached image. Följande exempel beskär en rastercachelagrad bild. Beskärningsområdet anges via com.aspose.imaging.Rectangle.

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

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

    // Beskär bilden. Beskärningsområdet är den rektangulära centrala delen av bilden.
    int width = rasterImage.getWidth();
    int height = rasterImage.getHeight();
    com.aspose.imaging.Rectangle area = new com.aspose.imaging.Rectangle(width / 4, height / 4, width / 2, height / 2);
    rasterImage.crop(area);

    // Spara den beskurna bilden som PNG
    rasterImage.save(dir + "sample.Crop.png");
} finally {
    image.dispose();
}

dither(int ditheringMethod, int bitsCount, IColorPalette customPalette)

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

Utför dithering på den aktuella bilden.

Parameters:

ParameterTypBeskrivning
ditheringMethodintDithermetoden.
bitsCountintDet slutgiltiga bitantalet för dithering.
customPaletteIColorPaletteDen anpassade paletten för dithering.

grayscale()

public void grayscale()

Transformation av en bild till dess gråskale-representation

Example: The following example transforms a colored raster cached image to its grayscale representation. Följande exempel omvandlar en färgad rastercachad bild till dess gråskale-representation. Gråskalebilder består uteslutande av gråtoner och innehåller endast intensitetsinformation.

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

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

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

normalizeHistogram()

public void normalizeHistogram()

Normaliserar bildens histogram \u2014 justera pixelvärden för att använda hela tillgängliga intervallet.

autoBrightnessContrast()

public void autoBrightnessContrast()

Utför automatisk adaptiv ljusstyrke- och kontrastnormalisering för hela bilden.


// Example usage in image pre-processing:
 image.AutoBrightnessContrast();

Denna metod tillämpar en pipeline av avancerade adaptiva filter (CLAHE, adaptiv vitsträckning och automatisk vitbalans) för att förbättra bildens visuella kvalitet genom att öka kontrast, lokal ljusstyrka och färgprecision.

**Filterpipeline:**

  1. Kontrastbegränsad adaptiv histogramutjämning (CLAHE) \u2013 förbättrar lokal kontrast och förstärker svaga detaljer.
  2. Adaptiv vitsträckning \u2013 ökar den effektiva vita nivån samtidigt som mörka detaljer skyddas.
  3. Automatisk vitbalans \u2013 korrigerar färgskiftningar genom att balansera kanalhistogram.

**Obs:**

binarizeFixed(byte threshold)

public void binarizeFixed(byte threshold)

Binarisering av en bild med fördefinierad tröskel

Parameters:

ParameterTypBeskrivning
thresholdbyteTröskelvärde. Om motsvarande gråvärde för en pixel är större än tröskeln tilldelas värdet 255, annars 0.

Example: The following example binarizes a raster cached image with the predefined threshold. Följande exempel binäriserar en rastercachelagrad bild med den fördefinierade tröskeln. Binäriserade bilder innehåller endast 2 färger - svart och vit.

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

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

    // Binarisera bilden med ett tröskelvärde på 127.
    // Om ett motsvarande gråvärde för en pixel är större än 127, tilldelas ett värde på 255, annars 0.
    rasterImage.binarizeFixed((byte) 127);
    rasterImage.save(dir + "sample.BinarizeFixed.png");
} finally {
    image.dispose();
}

binarizeOtsu()

public void binarizeOtsu()

Binarisering av en bild med Otsu-tröskling

Example: The following example binarizes a raster cached image with Otsu thresholding. Följande exempel binariserar en rastercachad bild med Otsu-tröskling. Binariserade bilder innehåller endast 2 färger – svart och vit.

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

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

    // Binarisera bilden med Otsu-tröskling.
    rasterImage.binarizeOtsu();
    rasterImage.save(dir + "sample.BinarizeOtsu.png");
} finally {
    image.dispose();
}

binarizeBradley(double brightnessDifference, int windowSize)

public void binarizeBradley(double brightnessDifference, int windowSize)

Binarisering av en bild med Bradleys adaptiva tröskelalgoritm med hjälp av integralbildströskling

Parameters:

ParameterTypBeskrivning
brightnessDifferencedoubleLjusstyrkeskillnaden mellan pixeln och medelvärdet av ett s x s-fönster av pixlar centrerade kring denna pixel.
windowSizeintStorleken på ett s x s-fönster av pixlar centrerade kring denna pixel.

Example: The following example binarizes a raster cached image with Bradley’s adaptive thresholding algorithm with the specified window size. Följande exempel binariserar en rastercachad bild med Bradleys adaptiva trösklingsalgoritm med den angivna fönsterstorleken. Binariserade bilder innehåller endast 2 färger – svart och vit.

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

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

    // Binarisera bilden med en ljusstyrkeskillnad på 5.
    // Ljusstyrkan är en skillnad mellan en pixel och medelvärdet av ett 10 x 10-fönster av pixlar centrerade kring denna pixel.
    rasterImage.binarizeBradley(5, 10);
    rasterImage.save(dir + "sample.BinarizeBradley5_10x10.png");
} finally {
    image.dispose();
}

binarizeBradley(double brightnessDifference)

public void binarizeBradley(double brightnessDifference)

Binarisering av en bild med Bradleys adaptiva tröskelalgoritm med hjälp av integralbildströskling

Parameters:

ParameterTypBeskrivning
brightnessDifferencedoubleLjusstyrkeskillnaden mellan pixeln och medelvärdet av ett s x s-fönster av pixlar centrerade kring denna pixel.

Example: The following example binarizes a raster cached image with Bradley’s adaptive thresholding algorithm. Följande exempel binariserar en rastercachad bild med Bradleys adaptiva trösklingsalgoritm. Binariserade bilder innehåller endast 2 färger – svart och vit.

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

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

    // Binarisera bilden med en ljusstyrkeskillnad på 5.
    // Ljusstyrkan är en skillnad mellan en pixel och medelvärdet av ett s x s-fönster av pixlar centrerade kring denna pixel.
    // Fönsterstorleken kommer att kalibreras automatiskt.
    rasterImage.binarizeBradley(5);
    rasterImage.save(dir + "sample.BinarizeBradley5.png");
} finally {
    image.dispose();
}

adjustBrightness(int brightness)

public void adjustBrightness(int brightness)

Justering av bildens ljusstyrka.

Parameters:

ParameterTypBeskrivning
brightnessintLjusstyrkevärde.

Example: The following example performs brightness correction of a raster cached image.

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

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

    // Ställ in ljusstyrkevärdet. De accepterade värdena för ljusstyrka ligger i intervallet [-255, 255].
    rasterImage.adjustBrightness(50);
    rasterImage.save(dir + "sample.AdjustBrightness.png");
} finally {
    image.dispose();
}

adjustContrast(float contrast)

public void adjustContrast(float contrast)

Bildkontrast

Parameters:

ParameterTypBeskrivning
contrastfloatKontrastvärde (i intervallet [-100; 100])

Example: The following example performs contrast correction of a raster cached image.

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

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

    // Ställ in kontrastvärdet. De accepterade värdena för kontrast ligger i intervallet [-100f, 100f].
    rasterImage.adjustContrast(50);
    rasterImage.save(dir + "sample.AdjustContrast.png");
} finally {
    image.dispose();
}

adjustGamma(float gammaRed, float gammaGreen, float gammaBlue)

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

Gamma-korrigering av en bild.

Parameters:

ParameterTypBeskrivning
gammaRedfloatGamma för röd kanalkoefficient
gammaGreenfloatGamma för grön kanalkoefficient
gammaBluefloatGamma för blå kanalens koefficient

Example: The following example performs gamma-correction of a raster cached 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.RasterCachedImage rasterImage = (com.aspose.imaging.RasterCachedImage) image;

    // Ange individuella gamma-koefficienter för röd, grön och blå kanaler.
    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)

Gamma-korrigering av en bild.

Parameters:

ParameterTypBeskrivning
gammafloatGamma för röd, grön och blå kanalernas koefficient

Example: The following example performs gamma-correction of a raster cached image.

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

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

    // Ange gamma-koefficient för röd, grön och blå kanaler.
    rasterImage.adjustGamma(2.5f);
    rasterImage.save(dir + "sample.AdjustGamma.png");
} finally {
    image.dispose();
}

embedDigitalSignature(String password)

public void embedDigitalSignature(String password)

Bädda in digital signatur baserad på angivet lösenord i bilden med hjälp av steganografi.

Parameters:

ParameterTypBeskrivning
lösenordjava.lang.StringLösenordet som används för att generera digitala signaturdata

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)

Beräknar procentuell likhet mellan den extraherade datan och det ursprungliga lösenordet.

Parameters:

ParameterTypBeskrivning
lösenordjava.lang.StringLösenordet som används för att extrahera den inbäddade datan.

Returns: int - Procentuell likhetsvärde.

isDigitalSigned(String password, int percentageThreshold)

public boolean isDigitalSigned(String password, int percentageThreshold)

Utför en snabb kontroll för att avgöra om bilden är digitalt signerad, med det angivna lösenordet och tröskeln.


Denna metod tillhandahåller den snabbaste detektionen genom att utnyttja GetSignPercentage. När den extraherade datan uppfyller det angivna tröskelvärdet, hoppar över ytterligare extraktionssteg som syftar till att förbättra detekteringsnoggrannheten.

Parameters:

ParameterTypBeskrivning
lösenordjava.lang.StringLösenordet för att kontrollera signeringen.
percentageThresholdintTröskelvärdet (i procent)[0-100] som avgör om bilden anses vara signerad. Om det inte anges, kommer ett standardtröskelvärde (75) att tillämpas.

Returns: boolean - Sant om bilden är signerad, annars falskt.