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

يمثل صورة نقطية تدعم عمليات الرسومات النقطية. تقوم هذه الصورة بتخزين بيانات البكسل مؤقتًا عند الحاجة.

الطرق

طريقةالوصف
isCached()يحصل على قيمة تشير إلى ما إذا كانت بيانات الصورة مخزنة مؤقتًا حاليًا.
cacheData()يقوم بتخزين البيانات مؤقتًا ويضمن عدم تحميل بيانات إضافية من DataStreamSupporter.DataStreamContainer الأساسي.
blend(Point origin, RasterImage overlay, Rectangle overlayArea, byte overlayAlpha)يمزج هذه النسخة من الصورة مع صورة overlay.
resize(int newWidth, int newHeight, int resizeType)يُعيد تحجيم الصورة.
resize(int newWidth, int newHeight, ImageResizeSettings settings)يُعيد تحجيم الصورة.
rotateFlip(int rotateFlipType)يدور، يقلب، أو يدور ويقلب الصورة.
rotate(float angle, boolean resizeProportionally, Color backgroundColor)دوّر الصورة حول المركز.
crop(Rectangle rectangle)قص الصورة.
dither(int ditheringMethod, int bitsCount, IColorPalette customPalette)ينفّذ تمويهًا (dithering) على الصورة الحالية.
grayscale()تحويل الصورة إلى تمثيلها بتدرج الرمادي
normalizeHistogram()يُعَدِّل هيستوغرام الصورة \u2014 يضبط قيم البكسل لاستخدام كامل النطاق المتاح.
autoBrightnessContrast()ينفّذ تعديلًا تلقائيًا متكيفًا للسطوع والتباين لكامل الصورة.
binarizeFixed(byte threshold)تحويل الصورة إلى ثنائية باستخدام عتبة محددة مسبقًا
binarizeOtsu()تحويل الصورة إلى ثنائية باستخدام عتبة Otsu
binarizeBradley(double brightnessDifference, int windowSize)تحويل الصورة إلى ثنائية باستخدام خوارزمية العتبة المتكيفة لبرايدلي مع عتبة الصورة المتكاملة
binarizeBradley(double brightnessDifference)تحويل الصورة إلى ثنائية باستخدام خوارزمية العتبة المتكيفة لبرايدلي مع عتبة الصورة المتكاملة
adjustBrightness(int brightness)ضبط السطوع للصورة.
adjustContrast(float contrast)تحسين التباين في الصورة
adjustGamma(float gammaRed, float gammaGreen, float gammaBlue)تصحيح جاما للصورة.
adjustGamma(float gamma)تصحيح جاما للصورة.
embedDigitalSignature(String password)إدراج توقيع رقمي يعتمد على كلمة المرور المقدمة داخل الصورة باستخدام تقنية إخفاء المعلومات (steganography).
analyzePercentageDigitalSignature(String password)يحسب نسبة التشابه بين البيانات المستخرجة وكلمة المرور الأصلية.
isDigitalSigned(String password, int percentageThreshold)ينفّذ فحصًا سريعًا لتحديد ما إذا كانت الصورة موقعة رقمياً، باستخدام كلمة المرور والعتبة المقدمة.

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

المثال التالي يحول صورة نقطية ملونة مخزنة مؤقتًا إلى تمثيلها بتدرج الرمادي. صور تدرج الرمادي تتكون حصريًا من ظلال اللون الرمادي وتحمل معلومات الشدة فقط.

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

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

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

isCached()

public boolean isCached()

يحصل على قيمة تشير إلى ما إذا كانت بيانات الصورة مخزنة مؤقتًا حاليًا.

Returns: منطقي - true إذا كانت بيانات الصورة مخزنة مؤقتًا؛ وإلا false.

cacheData()

public void cacheData()

يقوم بتخزين البيانات مؤقتًا ويضمن عدم تحميل بيانات إضافية من DataStreamSupporter.DataStreamContainer الأساسي.

Example: The following example shows how raster image caching affects performance. المثال التالي يوضح كيف يؤثر تخزين الصور النقطية مؤقتًا على الأداء. في الحالة العامة، قراءة البيانات المخزنة مؤقتًا يتم بسرعة أكبر من قراءة البيانات غير المخزنة.

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

// حمّل صورة من ملف PNG.
com.aspose.imaging.RasterCachedImage image = (com.aspose.imaging.RasterCachedImage) com.aspose.imaging.Image.load(dir + "sample.png");
try {
    // خزن جميع بيانات البكسل بحيث لا يتم تحميل بيانات إضافية من تدفق البيانات الأساسي
    image.cacheData();

    long startTime = System.currentTimeMillis();

    // قراءة جميع البكسلات سريعة إلى حد كبير.
    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();
}

// تحميل صورة من ملف PNG
image = (com.aspose.imaging.RasterCachedImage) com.aspose.imaging.Image.load(dir + "sample.png");
try {
    long startTime = System.currentTimeMillis();

    // قراءة جميع البكسلات ليست سريعة كما هو الحال عند التخزين المؤقت
    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();
}

// قد يبدو الإخراج هكذا:
//استغرق قراءة جميع البكسلات المخزنة مؤقتًا 2923 مللي ثانية.
//    java.lang.OutOfMemoryError
//في com.aspose.imaging.internal.G.be.b(مصدر غير معروف)
//في com.aspose.imaging.internal.G.be.a(مصدر غير معروف)
//في com.aspose.imaging.internal.G.be.a(مصدر غير معروف)
//في com.aspose.imaging.internal.G.be.a(مصدر غير معروف)
//في com.aspose.imaging.internal.G.aB.a(مصدر غير معروف)
//في com.aspose.imaging.RasterImage.a(مصدر غير معروف)
//في com.aspose.imaging.RasterImage.getArgb32Pixel(مصدر غير معروف)
//في 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)

يمزج هذه النسخة من الصورة مع صورة overlay.

Parameters:

معاملنوعالوصف
originPointأصل دمج صورة الخلفية.
overlayRasterImageصورة التراكب.
overlayAreaRectangleمنطقة التراكب.
overlayAlphabyteقيمة ألفا للتراكب.

resize(int newWidth, int newHeight, int resizeType)

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

يُعيد تحجيم الصورة.

Parameters:

معاملنوعالوصف
newWidthintالعرض الجديد.
newHeightintالارتفاع الجديد.
resizeTypeintنوع تغيير الحجم.

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 {
    // تكبير بمقدار مرتين باستخدام إعادة أخذ عينات أقرب جار.
    image.resize(image.getWidth() * 2, image.getHeight() * 2, com.aspose.imaging.ResizeType.NearestNeighbourResample);

    // حفظ إلى PNG باستخدام الخيارات الافتراضية.
    image.save(dir + "upsample.nearestneighbour.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

image = (com.aspose.imaging.RasterCachedImage) com.aspose.imaging.Image.load(dir + "sample.png");
try {
    // تصغير بمقدار مرتين باستخدام إعادة أخذ عينات أقرب جار.
    image.resize(image.getWidth() / 2, image.getHeight() / 2, com.aspose.imaging.ResizeType.NearestNeighbourResample);

    // حفظ إلى PNG باستخدام الخيارات الافتراضية.
    image.save(dir + "downsample.nearestneighbour.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

image = (com.aspose.imaging.RasterCachedImage) com.aspose.imaging.Image.load(dir + "sample.png");
try {
    // تكبير بمقدار مرتين باستخدام إعادة أخذ عينات ثنائية الخطية.
    image.resize(image.getWidth() * 2, image.getHeight() * 2, com.aspose.imaging.ResizeType.BilinearResample);

    // حفظ إلى PNG باستخدام الخيارات الافتراضية.
    image.save(dir + "upsample.bilinear.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

image = (com.aspose.imaging.RasterCachedImage) com.aspose.imaging.Image.load(dir + "sample.png");
try {
    // تصغير بمقدار مرتين باستخدام إعادة أخذ عينات ثنائية الخطية.
    image.resize(image.getWidth() / 2, image.getHeight() / 2, com.aspose.imaging.ResizeType.BilinearResample);

    // حفظ إلى PNG باستخدام الخيارات الافتراضية.
    image.save(dir + "downsample.bilinear.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

resize(int newWidth, int newHeight, ImageResizeSettings settings)

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

يُعيد تحجيم الصورة.

Parameters:

معاملنوعالوصف
newWidthintالعرض الجديد.
newHeightintالارتفاع الجديد.
settingsImageResizeSettingsإعدادات تغيير الحجم.

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

// الخوارزمية التكيفية المستندة إلى الدالة الكسرية الموزونة والمختلطة واستيفاء lanczos3.
resizeSettings.setMode(com.aspose.imaging.ResizeType.AdaptiveResample);

// المرشح المستطيل الصغير
resizeSettings.setFilterType(com.aspose.imaging.ImageFilterType.SmallRectangular);

// عدد الألوان في لوحة الألوان.
resizeSettings.setEntriesCount(256);

// لم يتم استخدام تقليل ألوان الصورة
resizeSettings.setColorQuantizationMethod(com.aspose.imaging.ColorQuantizationMethod.None);

// طريقة إقليدية
resizeSettings.setColorCompareMethod(com.aspose.imaging.ColorCompareMethod.Euclidian);

com.aspose.imaging.RasterCachedImage image = (com.aspose.imaging.RasterCachedImage) com.aspose.imaging.Image.load(dir + "sample.png");
try {
    // قُم بتقليل الحجم بمقدار مرتين باستخدام إعادة أخذ عينات تكيفية.
    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)

يدور، يقلب، أو يدور ويقلب الصورة.

Parameters:

معاملنوعالوصف
rotateFlipTypeintنوع القلب الدوراني.

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

// هذه فئة مساعدة.
class LocalHelper {
    // يحصل على تمثيل نصي لنوع القلب الدوراني.
    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");
        }
    }
}

// إليك المثال الرئيسي
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) {
    // قم بالدوران، والقلّب، واحفظ إلى ملف الإخراج.
    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)

دوّر الصورة حول المركز.

Parameters:

معاملنوعالوصف
anglefloatزاوية الدوران بالدرجات. القيم الموجبة ستدور باتجاه عقارب الساعة.
resizeProportionallybooleanإذا تم تعيينه إلى true سيتغير حجم الصورة وفقًا لإسقاطات المستطيل المدور (نقاط الزوايا) وإلا سيبقى الأبعاد دون تغيير وتُدوَّر محتويات الصورة الداخلية فقط.
backgroundColorColorلون الخلفية.

crop(Rectangle rectangle)

public void crop(Rectangle rectangle)

قص الصورة.

Parameters:

معاملنوعالوصف
rectangleRectangleالمستطيل.

Example: The following example crops a raster cached image. المثال التالي يقتطع صورة مخزنة كراستر. يتم تحديد منطقة القص عبر 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;

    // قص الصورة. منطقة القص هي المنطقة المركزية المستطيلة للصورة.
    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);

    // احفظ الصورة المقتطعة بصيغة 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)

ينفّذ تمويهًا (dithering) على الصورة الحالية.

Parameters:

معاملنوعالوصف
ditheringMethodintطريقة التمويه.
bitsCountintعدد البتات النهائي للتمويه.
customPaletteIColorPaletteلوحة الألوان المخصصة للتمويه.

grayscale()

public void grayscale()

تحويل الصورة إلى تمثيلها بتدرج الرمادي

Example: The following example transforms a colored raster cached image to its grayscale representation. المثال التالي يحول صورة نقطية ملونة مخزنة مؤقتًا إلى تمثيلها بتدرج الرمادي. صور تدرج الرمادي تتكون حصريًا من ظلال اللون الرمادي وتحمل معلومات الشدة فقط.

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

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

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

normalizeHistogram()

public void normalizeHistogram()

يُعَدِّل هيستوغرام الصورة \u2014 يضبط قيم البكسل لاستخدام كامل النطاق المتاح.

autoBrightnessContrast()

public void autoBrightnessContrast()

ينفّذ تعديلًا تلقائيًا متكيفًا للسطوع والتباين لكامل الصورة.


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

تطبق هذه الطريقة خط أنابيب من المرشحات التكيفية المتقدمة (CLAHE، التمدد الأبيض التكيفي، وتوازن اللون الأبيض التلقائي) لتحسين الجودة البصرية للصورة من خلال تعزيز التباين، الإضاءة المحلية، ودقة الألوان.

**خط أنابيب الفلتر:**

  1. تعديل التباين المحدود للهيستوجرام التكيفي (CLAHE) – يحسن التباين المحلي ويعزز التفاصيل الباهتة.
  2. التمدد الأبيض التكيفي – يزيد مستوى الأبيض الفعال مع حماية الميزات الداكنة.
  3. توازن اللون الأبيض التلقائي – يصحح الانحرافات اللونية عبر موازنة هيستوجرامات القنوات.

**ملاحظة:**

binarizeFixed(byte threshold)

public void binarizeFixed(byte threshold)

تحويل الصورة إلى ثنائية باستخدام عتبة محددة مسبقًا

Parameters:

معاملنوعالوصف
thresholdbyteقيمة العتبة. إذا كانت قيمة الرمادي المقابلة للبكسل أكبر من العتبة، سيتم تعيين القيمة 255 لها، وإلا 0.

Example: The following example binarizes a raster cached image with the predefined threshold. المثال التالي يحول صورة مخزنة كراستر إلى ثنائية باستخدام العتبة المحددة مسبقًا. الصور الثنائية تحتوي فقط على لونين - الأسود والأبيض.

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;

    // حوّل الصورة إلى ثنائية باستخدام قيمة العتبة 127.
    // إذا كانت قيمة الرمادي المقابلة للبكسل أكبر من 127، سيتم تعيين قيمة 255 له، وإلا ستكون 0.
    rasterImage.binarizeFixed((byte) 127);
    rasterImage.save(dir + "sample.BinarizeFixed.png");
} finally {
    image.dispose();
}

binarizeOtsu()

public void binarizeOtsu()

تحويل الصورة إلى ثنائية باستخدام عتبة Otsu

Example: The following example binarizes a raster cached image with Otsu thresholding. المثال التالي يحول صورة مخزنة كراستر إلى ثنائية باستخدام عتبة أوتسو. الصور الثنائية تحتوي فقط على لونين - الأسود والأبيض.

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.binarizeOtsu();
    rasterImage.save(dir + "sample.BinarizeOtsu.png");
} finally {
    image.dispose();
}

binarizeBradley(double brightnessDifference, int windowSize)

public void binarizeBradley(double brightnessDifference, int windowSize)

تحويل الصورة إلى ثنائية باستخدام خوارزمية العتبة المتكيفة لبرايدلي مع عتبة الصورة المتكاملة

Parameters:

معاملنوعالوصف
brightnessDifferencedoubleفرق السطوع بين البكسل ومتوسط نافذة بحجم s × s من البكسلات المتمركزة حول هذا البكسل.
windowSizeintحجم نافذة s × s من البكسلات المتمركزة حول هذا البكسل

Example: The following example binarizes a raster cached image with Bradley’s adaptive thresholding algorithm with the specified window size. المثال التالي يحول صورة مخزنة كراستر إلى ثنائية باستخدام خوارزمية العتبة التكيفية لبرادلي مع حجم النافذة المحدد. الصور الثنائية تحتوي فقط على لونين - الأسود والأبيض.

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;

    // حوّل الصورة إلى ثنائية باستخدام فرق سطوع قدره 5.
    // السطوع هو فرق بين البكسل ومتوسط نافذة 10 × 10 من البكسلات المتمركزة حول هذا البكسل.
    rasterImage.binarizeBradley(5, 10);
    rasterImage.save(dir + "sample.BinarizeBradley5_10x10.png");
} finally {
    image.dispose();
}

binarizeBradley(double brightnessDifference)

public void binarizeBradley(double brightnessDifference)

تحويل الصورة إلى ثنائية باستخدام خوارزمية العتبة المتكيفة لبرايدلي مع عتبة الصورة المتكاملة

Parameters:

معاملنوعالوصف
brightnessDifferencedoubleفرق السطوع بين البكسل ومتوسط نافذة بحجم s × s من البكسلات المتمركزة حول هذا البكسل.

Example: The following example binarizes a raster cached image with Bradley’s adaptive thresholding algorithm. المثال التالي يحول صورة مخزنة كراستر إلى ثنائية باستخدام خوارزمية العتبة التكيفية لبرادلي. الصور الثنائية تحتوي فقط على لونين - الأسود والأبيض.

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;

    // حوّل الصورة إلى ثنائية باستخدام فرق سطوع قدره 5.
    // السطوع هو فرق بين البكسل ومتوسط نافذة s × s من البكسلات المتمركزة حول هذا البكسل.
    // سيتم ضبط حجم النافذة تلقائيًا.
    rasterImage.binarizeBradley(5);
    rasterImage.save(dir + "sample.BinarizeBradley5.png");
} finally {
    image.dispose();
}

adjustBrightness(int brightness)

public void adjustBrightness(int brightness)

ضبط السطوع للصورة.

Parameters:

معاملنوعالوصف
brightnessintقيمة السطوع.

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;

    // حدد قيمة السطوع. القيم المقبولة للسطوع تقع في النطاق [-255، 255].
    rasterImage.adjustBrightness(50);
    rasterImage.save(dir + "sample.AdjustBrightness.png");
} finally {
    image.dispose();
}

adjustContrast(float contrast)

public void adjustContrast(float contrast)

تحسين التباين في الصورة

Parameters:

معاملنوعالوصف
contrastfloatقيمة التباين (في النطاق [-100؛ 100])

Example: The following example performs contrast correction of 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;

    // حدد قيمة التباين. القيم المقبولة للتباين تقع في النطاق [-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)

تصحيح جاما للصورة.

Parameters:

معاملنوعالوصف
gammaRedfloatمعامل غاما للقناة الحمراء
gammaGreenfloatمعامل غاما للقناة الخضراء
gammaBluefloatمعامل غاما للقناة الزرقاء

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;

    // تعيين معاملات غاما الفردية للقنوات الحمراء والخضراء والزرقاء.
    rasterImage.adjustGamma(1.5f, 2.5f, 3.5f);
    rasterImage.save(dir + "sample.AdjustGamma.png");
} finally {
    image.dispose();
}

adjustGamma(float gamma)

public void adjustGamma(float gamma)

تصحيح جاما للصورة.

Parameters:

معاملنوعالوصف
غاماfloatمعامل غاما للقنوات الحمراء والخضراء والزرقاء

Example: The following example performs gamma-correction of 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;

    // تعيين معامل غاما للقنوات الحمراء والخضراء والزرقاء.
    rasterImage.adjustGamma(2.5f);
    rasterImage.save(dir + "sample.AdjustGamma.png");
} finally {
    image.dispose();
}

embedDigitalSignature(String password)

public void embedDigitalSignature(String password)

إدراج توقيع رقمي يعتمد على كلمة المرور المقدمة داخل الصورة باستخدام تقنية إخفاء المعلومات (steganography).

Parameters:

معاملنوعالوصف
كلمة المرورjava.lang.Stringكلمة المرور (الحد الأدنى 4 رموز) المستخدمة لتوليد بيانات التوقيع الرقمي

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

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

analyzePercentageDigitalSignature(String password)

public int analyzePercentageDigitalSignature(String password)

يحسب نسبة التشابه بين البيانات المستخرجة وكلمة المرور الأصلية.

Parameters:

معاملنوعالوصف
كلمة المرورjava.lang.Stringكلمة المرور المستخدمة لاستخراج البيانات المدمجة.

Returns: int - قيمة النسبة المئوية للتشابه.

isDigitalSigned(String password, int percentageThreshold)

public boolean isDigitalSigned(String password, int percentageThreshold)

ينفّذ فحصًا سريعًا لتحديد ما إذا كانت الصورة موقعة رقمياً، باستخدام كلمة المرور والعتبة المقدمة.


توفر هذه الطريقة أسرع كشف عن طريق الاستفادة من GetSignPercentage. بمجرد أن تفي البيانات المستخرجة بالحد المحدد، يتم تخطي خطوات الاستخراج الإضافية الهادفة إلى تحسين دقة الكشف.

Parameters:

معاملنوعالوصف
كلمة المرورjava.lang.Stringكلمة المرور للتحقق من التوقيع.
percentageThresholdintالحد (بالنسبة المئوية)[0-100] الذي يحدد ما إذا كانت الصورة تعتبر موقعة. إذا لم يتم تحديده، سيُطبق الحد الافتراضي (75).

Returns: boolean - صحيح إذا كانت الصورة موقعة، وإلا خاطئ.