RasterImage

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

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

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

يمثل صورة نقطية تدعم عمليات الرسومات النقطية.

الطرق

طريقةالوصف
getPremultiplyComponents()يحصل أو يضبط قيمة تشير إلى ما إذا كان يجب ضرب مكونات الصورة مسبقًا.
setPremultiplyComponents(boolean value)يحصل أو يضبط قيمة تشير إلى ما إذا كان يجب ضرب مكونات الصورة مسبقًا.
getUseRawData()يحصل أو يضبط قيمة تشير إلى ما إذا كان يجب استخدام تحميل البيانات الخام عندما يكون تحميل البيانات الخام متاحًا.
setUseRawData(boolean value)يحصل أو يضبط قيمة تشير إلى ما إذا كان يجب استخدام تحميل البيانات الخام عندما يكون تحميل البيانات الخام متاحًا.
getUpdateXmpData()يحصل أو يضبط قيمة تشير إلى ما إذا كان يجب تحديث بيانات XMP الوصفية.
setUpdateXmpData(boolean value)يحصل أو يضبط قيمة تشير إلى ما إذا كان يجب تحديث بيانات XMP الوصفية.
getRawIndexedColorConverter()يحصل أو يضبط محول الألوان المفهرس
setRawIndexedColorConverter(IIndexedColorConverter value)يحصل أو يضبط محول الألوان المفهرس
getRawCustomColorConverter()يحصل أو يضبط محول الألوان المخصص
setRawCustomColorConverter(IColorConverter value)يحصل أو يضبط محول الألوان المخصص
getRawFallbackIndex()يحصل أو يضبط فهرس الاحتياطي لاستخدامه عندما يكون فهرس لوحة الألوان خارج النطاق
setRawFallbackIndex(int value)يحصل أو يضبط فهرس الاحتياطي لاستخدامه عندما يكون فهرس لوحة الألوان خارج النطاق
getRawDataSettings()
isUsePalette()يحصل على قيمة تشير إلى ما إذا كانت لوحة ألوان الصورة مستخدمة.
getRawDataFormat()يحصل على تنسيق البيانات الخام.
getRawLineSize()يحصل على حجم السطر الخام بالبايت.
isRawDataAvailable()يحصل على قيمة تشير إلى ما إذا كان تحميل البيانات الخام متاحًا.
getHorizontalResolution()يحصل أو يضبط الدقة الأفقية، بوحدة بكسل لكل بوصة، لهذا RasterImage.
setHorizontalResolution(double value)يحصل أو يضبط الدقة الأفقية، بوحدة بكسل لكل بوصة، لهذا RasterImage.
getVerticalResolution()يحصل أو يضبط الدقة العمودية، بوحدة بكسل لكل بوصة، لهذا RasterImage.
setVerticalResolution(double value)يحصل أو يضبط الدقة العمودية، بوحدة بكسل لكل بوصة، لهذا RasterImage.
hasTransparentColor()يحصل على قيمة تشير إلى ما إذا كانت هذه الحالة من RasterImage لديها لون شفاف.
hasAlpha()يحصل على قيمة تشير إلى ما إذا كان هذا الكائن يحتوي على ألفا.
getTransparentColor()يحصل على لون الصورة الشفاف.
setTransparentColor(boolean value)يضبط قيمة تشير إلى ما إذا كانت هذه الحالة من RasterImage لديها لون شفاف.
setTransparentColor(Color value)يحصل على لون الصورة الشفاف.
getImageOpacity()يحصل على شفافية هذه الصورة.
removeMetadata()يزيل بيانات التعريف لهذه الحالة من الصورة عن طريق ضبط قيمة IHasXmpData.XmpData(IHasXmpData.getXmpData/IHasXmpData.setXmpData(XmpPacketWrapper)) إلى null.
getModifyDate(boolean useDefault)يسترجع التاريخ والوقت عندما خضعت صورة المورد لأحدث تعديل.
dither(int ditheringMethod, int bitsCount)ينفّذ تمويهًا على الصورة الحالية.
dither(int ditheringMethod, int bitsCount, IColorPalette customPalette)ينفّذ تمويهًا على الصورة الحالية.
getDefaultPixels(Rectangle rectangle, IPartialArgb32PixelLoader partialPixelLoader)يحصل على مصفوفة البكسلات الافتراضية باستخدام محمل البكسلات الجزئي.
getDefaultRawData(Rectangle rectangle, IPartialRawDataLoader partialRawDataLoader, RawDataSettings rawDataSettings)يحصل على مصفوفة البيانات الخام الافتراضية باستخدام محمل البكسلات الجزئي.
getDefaultArgb32Pixels(Rectangle rectangle)يحصل على مصفوفة بكسلات ARGB 32‑بت الافتراضية.
getDefaultRawData(Rectangle rectangle, RawDataSettings rawDataSettings)يحصل على مصفوفة البيانات الخام الافتراضية.
getArgb32Pixel(int x, int y)يحصل على بكسل ARGB 32‑بت من الصورة.
getPixel(int x, int y)يحصل على بكسل الصورة.
setArgb32Pixel(int x, int y, int argb32Color)يضبط بكسل ARGB 32‑بت للصورة في الموضع المحدد.
setPixel(int x, int y, Color color)يضبط بكسل الصورة في الموضع المحدد.
readScanLine(int scanLineIndex)يقرأ السطر الكامل للمسح وفقًا لمؤشر سطر المسح المحدد.
readArgb32ScanLine(int scanLineIndex)يقرأ السطر الكامل للمسح وفقًا لمؤشر سطر المسح المحدد.
writeScanLine(int scanLineIndex, Color[] pixels)يكتب السطر الكامل للمسح إلى مؤشر سطر المسح المحدد.
writeArgb32ScanLine(int scanLineIndex, int[] argb32Pixels)يكتب السطر الكامل للمسح إلى مؤشر سطر المسح المحدد.
loadPartialArgb32Pixels(Rectangle rectangle, IPartialArgb32PixelLoader partialPixelLoader)يحمّل بكسلات ARGB 32‑بت جزئيًا حسب الحزم.
loadPartialPixels(Rectangle desiredRectangle, IPartialPixelLoader pixelLoader)يحمّل البكسلات جزئيًا حسب الحزم.
loadArgb32Pixels(Rectangle rectangle)يحمّل بكسلات ARGB 32‑بت.
loadArgb64Pixels(Rectangle rectangle)يحمّل بكسلات ARGB 64‑بت.
loadPartialArgb64Pixels(Rectangle rectangle, IPartialArgb64PixelLoader partialPixelLoader)يحمّل بكسلات ARGB 64‑بت جزئيًا حسب الحزم.
loadPixels(Rectangle rectangle)يحمّل البكسلات.
loadCmykPixels(Rectangle rectangle)يحمّل البكسلات بتنسيق CMYK.
loadCmyk32Pixels(Rectangle rectangle)يحمّل البكسلات بتنسيق CMYK.
loadRawData(Rectangle rectangle, RawDataSettings rawDataSettings, IPartialRawDataLoader rawDataLoader)يحمّل بيانات الصورة الخام باستخدام آلية المعالجة الجزئية.
loadRawData(Rectangle rectangle, Rectangle dstImageBounds, RawDataSettings rawDataSettings, IPartialRawDataLoader rawDataLoader)يحمّل البيانات الخام.
saveRawData(byte[] data, int dataOffset, Rectangle rectangle, RawDataSettings rawDataSettings)يحفظ البيانات الخام.
saveArgb32Pixels(Rectangle rectangle, int[] pixels)يحفظ بكسلات ARGB 32‑بت.
savePixels(Rectangle rectangle, Color[] pixels)يحفظ البكسلات.
toBitmap()يحوّل صورة النقطية إلى bitmap.
saveCmykPixels(Rectangle rectangle, CmykColor[] pixels)يحفظ البكسلات.
saveCmyk32Pixels(Rectangle rectangle, int[] pixels)يحفظ البكسلات.
setResolution(double dpiX, double dpiY)يضبط الدقة لهذه RasterImage.
setPalette(IColorPalette palette, boolean updateColors)يضبط لوحة ألوان الصورة.
autoRotate()يقوم تلقائيًا بتدوير الصورة بناءً على بيانات الاتجاه المستخرجة من بيانات Exif الوصفية.
resize(int newWidth, int newHeight, ImageResizeSettings settings)يعيد تحجيم الصورة باستخدام خيارات موسعة.
rotate(float angle, boolean resizeProportionally, Color backgroundColor)دوّر الصورة حول المركز.
rotate(float angle)دوّر الصورة حول المركز.
binarizeFixed(byte threshold)تحويل الصورة إلى ثنائية باستخدام عتبة محددة مسبقًا
binarizeOtsu()تحويل الصورة إلى ثنائية باستخدام عتبة Otsu
binarizeBradley(double brightnessDifference)تحويل الصورة إلى ثنائية باستخدام خوارزمية العتبة المتكيفة لبرايدلي مع العتبة المستندة إلى الصورة المتكاملة
binarizeBradley(double brightnessDifference, int windowSize)تحويل الصورة إلى ثنائية باستخدام خوارزمية العتبة المتكيفة لبرايدلي مع العتبة المستندة إلى الصورة المتكاملة
blend(Point origin, RasterImage overlay, Rectangle overlayArea)يمزج نسخة الصورة هذه مع صورة overlay.
blend(Point origin, RasterImage overlay, Rectangle overlayArea, byte overlayAlpha)يمزج نسخة الصورة هذه مع صورة overlay.
blend(Point origin, RasterImage overlay)يمزج هذه النسخة من الصورة مع overlay مع قيمة ألفا == 255.
blend(Point origin, RasterImage overlay, byte overlayAlpha)يمزج هذه النسخة من الصورة مع overlay.
grayscale()تحويل الصورة إلى تمثيلها بتدرج الرمادي
normalizeHistogram()يُعَدِّل هيستوجرام الصورة \u2014 يضبط قيم البكسل لاستخدام كامل النطاق المتاح.
autoBrightnessContrast()تطبيع تلقائي متكيف للسطوع والتباين لكامل الصورة.
adjustBrightness(int brightness)ضبط سطوع الصورة.
adjustContrast(float contrast)تحسين تباين الصورة
embedDigitalSignature(String password)إدراج توقيع رقمي يعتمد على كلمة المرور المقدمة داخل الصورة باستخدام steganography.
analyzePercentageDigitalSignature(String password)يحسب نسبة التشابه بين البيانات المستخرجة وكلمة المرور الأصلية.
isDigitalSigned(String password)ينفّذ فحصًا سريعًا لتحديد ما إذا كانت الصورة موقعة رقميًا، باستخدام كلمة المرور والعتبة المقدمة.
isDigitalSigned(String password, int percentageThreshold)ينفّذ فحصًا سريعًا لتحديد ما إذا كانت الصورة موقعة رقميًا، باستخدام كلمة المرور والعتبة المقدمة.
adjustGamma(float gammaRed, float gammaGreen, float gammaBlue)تصحيح جاما للصورة.
adjustGamma(float gamma)تصحيح جاما للصورة.
getSkewAngle()يحصل على زاوية الميل.
normalizeAngle()يعيد تطبيع الزاوية.
normalizeAngle(boolean resizeProportionally, Color backgroundColor)يعيد تطبيع الزاوية.
filter(Rectangle rectangle, FilterOptionsBase options)يفلتر المستطيل المحدد.
replaceColor(Color oldColor, byte oldColorDiff, Color newColor)يستبدل لونًا بآخر مع فرق مسموح به ويحافظ على قيمة ألفا الأصلية للحفاظ على حواف ناعمة.
replaceColor(int oldColorArgb, byte oldColorDiff, int newColorArgb)يستبدل لونًا بآخر مع فرق مسموح به ويحافظ على قيمة ألفا الأصلية للحفاظ على حواف ناعمة.
replaceNonTransparentColors(Color newColor)يستبدل جميع الألوان غير الشفافة بلون جديد ويحافظ على قيمة ألفا الأصلية للحفاظ على حواف ناعمة.
replaceNonTransparentColors(int newColorArgb)يستبدل جميع الألوان غير الشفافة بلون جديد ويحافظ على قيمة ألفا الأصلية للحفاظ على حواف ناعمة.

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

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

// أنشئ نسخة من GifOptions واضبط خصائصها المتنوعة بما في ذلك خاصية Source.
com.aspose.imaging.imageoptions.GifOptions gifOptions = new com.aspose.imaging.imageoptions.GifOptions();
gifOptions.setSource(new com.aspose.imaging.sources.FileCreateSource(dir + "output.gif", false));

// إنشاء نسخة من Image
com.aspose.imaging.RasterImage image = (com.aspose.imaging.RasterImage) com.aspose.imaging.Image.create(gifOptions, 500, 500);
try {
    // احصل على بكسلات الصورة بتحديد المنطقة كحدود الصورة.
    com.aspose.imaging.Color[] pixels = image.loadPixels(image.getBounds());

    // تكرار عبر المصفوفة وتعيين لون البكسل المفهرس البديل.
    for (int index = 0; index < pixels.length; index++) {
        if (index % 2 == 0) {
            // عيّن لون البكسل المفهرس إلى الأصفر.
            pixels[index] = com.aspose.imaging.Color.getYellow();
        } else {
            // عيّن لون البكسل المفهرس إلى الأزرق.
            pixels[index] = com.aspose.imaging.Color.getBlue();
        }
    }

    // طبق تغييرات البكسل على الصورة.
    image.savePixels(image.getBounds(), pixels);

    // حفظ جميع التغييرات.
    image.save();
} finally {
    image.dispose();
}

getPremultiplyComponents()

public boolean getPremultiplyComponents()

يحصل أو يضبط قيمة تشير إلى ما إذا كان يجب ضرب مكونات الصورة مسبقًا.

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

setPremultiplyComponents(boolean value)

public void setPremultiplyComponents(boolean value)

يحصل أو يضبط قيمة تشير إلى ما إذا كان يجب ضرب مكونات الصورة مسبقًا.

Parameters:

معاملنوعالوصف
القيمةbooleantrue إذا كان يجب ضرب مكونات الصورة مسبقًا؛ وإلا false.

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

int imageWidth = 3;
int imageHeight = 2;

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

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

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

    // احفظ البكسلات لكامل الصورة.
    rasterImage.savePixels(rasterImage.getBounds(), colors);

    // يتم تخزين البكسلات في الصورة الأصلية بصيغة غير مضاعفة مسبقًا.
    // يجب تحديد الخيار المقابل صراحةً للحصول على مكوّنات اللون المضاعفة مسبقًا.
    // يتم حساب مكوّنات اللون المضاعفة مسبقًا باستخدام الصيغ:
    // red = original_red * alpha / 255;
    // green = original_green * alpha / 255;
    // blue = original_blue * alpha / 255;
    rasterImage.setPremultiplyComponents(true);
    com.aspose.imaging.Color[] premultipliedColors = rasterImage.loadPixels(rasterImage.getBounds());

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

getUseRawData()

public boolean getUseRawData()

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

Returns: منطقي - true إذا تم استخدام تحميل البيانات الخام عندما يكون تحميل البيانات الخام متاحًا؛ وإلا false.

setUseRawData(boolean value)

public void setUseRawData(boolean value)

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

Parameters:

معاملنوعالوصف
القيمةbooleantrue إذا تم استخدام تحميل البيانات الخام عندما يكون تحميل البيانات الخام متاحًا؛ وإلا false.

getUpdateXmpData()

public boolean getUpdateXmpData()

يحصل أو يضبط قيمة تشير إلى ما إذا كان يجب تحديث بيانات XMP الوصفية.

Returns: منطقي - true إذا تم تحديث بيانات XMP الوصفية؛ وإلا false.

setUpdateXmpData(boolean value)

public void setUpdateXmpData(boolean value)

يحصل أو يضبط قيمة تشير إلى ما إذا كان يجب تحديث بيانات XMP الوصفية.

Parameters:

معاملنوعالوصف
القيمةbooleantrue إذا تم تحديث بيانات XMP الوصفية؛ وإلا false.

getRawIndexedColorConverter()

public IIndexedColorConverter getRawIndexedColorConverter()

يحصل أو يضبط محول الألوان المفهرس

Returns: IIndexedColorConverter - The indexed color converter

setRawIndexedColorConverter(IIndexedColorConverter value)

public void setRawIndexedColorConverter(IIndexedColorConverter value)

يحصل أو يضبط محول الألوان المفهرس

Parameters:

معاملنوعالوصف
valueIIndexedColorConverterمحول الألوان المفهرسة

getRawCustomColorConverter()

public IColorConverter getRawCustomColorConverter()

يحصل أو يضبط محول الألوان المخصص

Returns: IColorConverter - The custom color converter

setRawCustomColorConverter(IColorConverter value)

public void setRawCustomColorConverter(IColorConverter value)

يحصل أو يضبط محول الألوان المخصص

Parameters:

معاملنوعالوصف
valueIColorConverterمحول الألوان المخصص

getRawFallbackIndex()

public int getRawFallbackIndex()

يحصل أو يضبط فهرس الاحتياطي لاستخدامه عندما يكون فهرس لوحة الألوان خارج النطاق

Returns: int - الفهرس الاحتياطي لاستخدامه عندما يكون فهرس اللوحة خارج النطاق

setRawFallbackIndex(int value)

public void setRawFallbackIndex(int value)

يحصل أو يضبط فهرس الاحتياطي لاستخدامه عندما يكون فهرس لوحة الألوان خارج النطاق

Parameters:

معاملنوعالوصف
القيمةintالفهرس الاحتياطي لاستخدامه عندما يكون فهرس اللوحة خارج النطاق

getRawDataSettings()

public RawDataSettings getRawDataSettings()

يحصل على إعدادات البيانات الخام الحالية. لاحظ أنه عند استخدام هذه الإعدادات يتم تحميل البيانات دون تحويل.

Returns: RawDataSettings

isUsePalette()

public boolean isUsePalette()

يحصل على قيمة تشير إلى ما إذا كانت لوحة ألوان الصورة مستخدمة.

القيمة: true إذا تم استخدام اللوحة في الصورة؛ وإلا، false.

Returns: boolean - قيمة تشير إلى ما إذا كانت لوحة ألوان الصورة مستخدمة.

getRawDataFormat()

public PixelDataFormat getRawDataFormat()

يحصل على تنسيق البيانات الخام.

Returns: PixelDataFormat - The raw data format.

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


// ملفات الصورة المراد تحميلها.
String[] fileNames = new String[]
        {
                "c:\\temp\\sample.bmp",
                "c:\\temp\\alpha.png",
        };

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

// قد يبدو الإخراج هكذا:
// ImageFile=c:\temp\sample.bmp FileFormat=Rgb24Bpp, القنوات المستخدمة: 8,8,8 HasAlpha=false
// ImageFile=c:\temp\alpha.png FileFormat=RGBA32Bpp, القنوات المستخدمة: 8,8,8,8 HasAlpha=true

getRawLineSize()

public int getRawLineSize()

يحصل على حجم السطر الخام بالبايت.

Returns: int - حجم السطر الخام بالبايت.

isRawDataAvailable()

public boolean isRawDataAvailable()

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

Returns: منطقي - true إذا كان تحميل البيانات الخام هذا متاحًا؛ وإلا false.

getHorizontalResolution()

public double getHorizontalResolution()

يحصل أو يضبط الدقة الأفقية، بوحدة بكسل لكل بوصة، لهذا RasterImage.

Returns: double - الدقة الأفقية.

ملاحظة: بشكل افتراضي تكون هذه القيمة دائمًا 96 لأن الأنظمة المختلفة لا يمكنها إرجاع دقة الشاشة. قد ترغب في استخدام طريقة SetResolution لتحديث قيمتي الدقة في استدعاء واحد.

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

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

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

    // احصل على الدقة الأفقية والعمودية للصورة
    double horizontalResolution = rasterImage.getHorizontalResolution();
    double verticalResolution = rasterImage.getVerticalResolution();
    System.out.println("The horizontal resolution, in pixels per inch: " + horizontalResolution);
    System.out.println("The vertical resolution, in pixels per inch: " + verticalResolution);

    if (horizontalResolution != 96.0 || verticalResolution != 96.0) {
        // استخدم طريقة SetResolution لتحديث قيمتي الدقة في استدعاء واحد.
        System.out.println("Set resolution values to 96 dpi");
        rasterImage.setResolution(96.0, 96.0);

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

    // قد يبدو الإخراج هكذا:
    // الدقة الأفقية، بوحدات البكسل لكل بوصة: 300.0
    // الدقة العمودية، بوحدات البكسل لكل بوصة: 300.0
    // تعيين قيم الدقة إلى 96 نقطة في البوصة
    // الدقة الأفقية، بوحدات البكسل لكل بوصة: 96.0
    // الدقة العمودية، بوحدات البكسل لكل بوصة: 96.0
} finally {
    image.dispose();
}

setHorizontalResolution(double value)

public void setHorizontalResolution(double value)

يحصل أو يضبط الدقة الأفقية، بوحدة بكسل لكل بوصة، لهذا RasterImage.

Parameters:

معاملنوعالوصف
القيمةdouble

ملاحظة: بشكل افتراضي تكون هذه القيمة دائمًا 96 لأن الأنظمة المختلفة لا يمكنها إرجاع دقة الشاشة. قد ترغب في استخدام طريقة SetResolution لتحديث قيمتي الدقة في استدعاء واحد. |

getVerticalResolution()

public double getVerticalResolution()

يحصل أو يضبط الدقة العمودية، بوحدة بكسل لكل بوصة، لهذا RasterImage.

Returns: double - الدقة العمودية.

ملاحظة: بشكل افتراضي تكون هذه القيمة دائمًا 96 لأن الأنظمة المختلفة لا يمكنها إرجاع دقة الشاشة. قد ترغب في استخدام طريقة SetResolution لتحديث قيمتي الدقة في استدعاء واحد.

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

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

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

    // احصل على الدقة الأفقية والعمودية للصورة
    double horizontalResolution = rasterImage.getHorizontalResolution();
    double verticalResolution = rasterImage.getVerticalResolution();
    System.out.println("The horizontal resolution, in pixels per inch: " + horizontalResolution);
    System.out.println("The vertical resolution, in pixels per inch: " + verticalResolution);

    if (horizontalResolution != 96.0 || verticalResolution != 96.0) {
        // استخدم طريقة SetResolution لتحديث قيمتي الدقة في استدعاء واحد.
        System.out.println("Set resolution values to 96 dpi");
        rasterImage.setResolution(96.0, 96.0);

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

    // قد يبدو الإخراج هكذا:
    // الدقة الأفقية، بوحدات البكسل لكل بوصة: 300.0
    // الدقة العمودية، بوحدات البكسل لكل بوصة: 300.0
    // تعيين قيم الدقة إلى 96 نقطة في البوصة
    // الدقة الأفقية، بوحدات البكسل لكل بوصة: 96.0
    // الدقة العمودية، بوحدات البكسل لكل بوصة: 96.0
} finally {
    image.dispose();
}

setVerticalResolution(double value)

public void setVerticalResolution(double value)

يحصل أو يضبط الدقة العمودية، بوحدة بكسل لكل بوصة، لهذا RasterImage.

Parameters:

معاملنوعالوصف
القيمةdouble

ملاحظة: بشكل افتراضي تكون هذه القيمة دائمًا 96 لأن الأنظمة المختلفة لا يمكنها إرجاع دقة الشاشة. قد ترغب في استخدام طريقة SetResolution لتحديث قيمتي الدقة في استدعاء واحد. |

hasTransparentColor()

public boolean hasTransparentColor()

يحصل على قيمة تشير إلى ما إذا كانت هذه الحالة من RasterImage لديها لون شفاف.


الإصدار الأساسي يعيد فعليًا `` إذا لم يتم تجاوزها في تنفيذ محدد يدعم هذه الميزة. تُستخدم هذه الخاصية أساسًا بواسطة FileFormat.Apng، FileFormat.Png، FileFormat.Gif، FileFormat.Tga لتعيين لون شفاف إذا كانت الصورة لا تدعم الشفافية عبر قناة ألفا.

Returns: boolean - قيمة تشير إلى ما إذا كانت هذه الحالة من RasterImage تحتوي على لون شفاف.

hasAlpha()

public boolean hasAlpha()

يحصل على قيمة تشير إلى ما إذا كان هذا الكائن يحتوي على ألفا.

Returns: boolean - true إذا كان هذا الكائن يحتوي على ألفا؛ وإلا false.

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


// ملفات الصورة المراد تحميلها.
String[] fileNames = new String[]
        {
                "c:\\temp\\sample.bmp",
                "c:\\temp\\alpha.png",
        };

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

// قد يبدو الإخراج هكذا:
// ImageFile=c:\temp\sample.bmp FileFormat=Rgb24Bpp, القنوات المستخدمة: 8,8,8 HasAlpha=false
// ImageFile=c:\temp\alpha.png FileFormat=RGBA32Bpp, القنوات المستخدمة: 8,8,8,8 HasAlpha=true

getTransparentColor()

public Color getTransparentColor()

يحصل على لون الصورة الشفاف.

Returns: Color

setTransparentColor(boolean value)

public void setTransparentColor(boolean value)

يضبط قيمة تشير إلى ما إذا كانت هذه الحالة من RasterImage لديها لون شفاف.


الإصدار الأساسي يعيد فعليًا `` إذا لم يتم تجاوزها في تنفيذ محدد يدعم هذه الميزة. تُستخدم هذه الخاصية أساسًا بواسطة FileFormat.Apng، FileFormat.Png، FileFormat.Gif، FileFormat.Tga لتعيين لون شفاف إذا كانت الصورة لا تدعم الشفافية عبر قناة ألفا.

Parameters:

معاملنوعالوصف
valuebooleanقيمة تشير إلى ما إذا كانت هذه الحالة من RasterImage تحتوي على لون شفاف.

setTransparentColor(Color value)

public void setTransparentColor(Color value)

يحصل على لون الصورة الشفاف.

Parameters:

معاملنوعالوصف
valueColor

getImageOpacity()

public float getImageOpacity()

يحصل على شفافية هذه الصورة.

Returns: float - قيمة التعتيم بين 0.0 (شفاف تمامًا) و 1.0 (معتم تمامًا).

removeMetadata()

public void removeMetadata()

يزيل بيانات التعريف لهذه الحالة من الصورة عن طريق ضبط قيمة IHasXmpData.XmpData(IHasXmpData.getXmpData/IHasXmpData.setXmpData(XmpPacketWrapper)) إلى null.

getModifyDate(boolean useDefault)

public Date getModifyDate(boolean useDefault)

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

Parameters:

معاملنوعالوصف
useDefaultbooleanإذا تم تعيينه إلى true يستخدم المعلومات من FileInfo كقيمة افتراضية.

Returns: java.util.Date - التاريخ والوقت الذي تم فيه تعديل صورة المورد آخر مرة.

dither(int ditheringMethod, int bitsCount)

public void dither(int ditheringMethod, int bitsCount)

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

Parameters:

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

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

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

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

    // قم بتنفيذ تدرّج العتبة باستخدام لوحة ألوان 4‑بت تحتوي على 16 لونًا.
    // كلما زاد عدد البتات المحددة، ارتفعت الجودة وزاد حجم الصورة الناتجة.
    // لاحظ أن لوحات الألوان ذات 1‑بت، 4‑بت و8‑بت فقط هي المدعومة حاليًا.
    rasterImage.dither(com.aspose.imaging.DitheringMethod.ThresholdDithering, 4);

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

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

    // قم بتنفيذ تدرّج Floyd باستخدام لوحة ألوان 1‑بت تحتوي فقط على لونين - الأسود والأبيض.
    // كلما زاد عدد البتات المحددة، ارتفعت الجودة وزاد حجم الصورة الناتجة.
    // لاحظ أن لوحات الألوان ذات 1‑بت، 4‑بت و8‑بت فقط هي المدعومة حاليًا.
    rasterImage.dither(com.aspose.imaging.DitheringMethod.FloydSteinbergDithering, 1);

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

dither(int ditheringMethod, int bitsCount, IColorPalette customPalette)

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

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

Parameters:

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

getDefaultPixels(Rectangle rectangle, IPartialArgb32PixelLoader partialPixelLoader)

public void getDefaultPixels(Rectangle rectangle, IPartialArgb32PixelLoader partialPixelLoader)

يحصل على مصفوفة البكسلات الافتراضية باستخدام محمل البكسلات الجزئي.

Parameters:

معاملنوعالوصف
rectangleRectangleالمستطيل للحصول على البكسلات له.
partialPixelLoaderIPartialArgb32PixelLoaderمحمل البكسلات الجزئي.

getDefaultRawData(Rectangle rectangle, IPartialRawDataLoader partialRawDataLoader, RawDataSettings rawDataSettings)

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

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

Parameters:

معاملنوعالوصف
rectangleRectangleالمستطيل للحصول على البكسلات له.
partialRawDataLoaderIPartialRawDataLoaderمحمل البيانات الخام الجزئي.
rawDataSettingsRawDataSettingsإعدادات البيانات الخام.

getDefaultArgb32Pixels(Rectangle rectangle)

public int[] getDefaultArgb32Pixels(Rectangle rectangle)

يحصل على مصفوفة بكسلات ARGB 32‑بت الافتراضية.

Parameters:

معاملنوعالوصف
rectangleRectangleالمستطيل للحصول على البكسلات له.

Returns: int[] - مصفوفة البكسلات الافتراضية.

getDefaultRawData(Rectangle rectangle, RawDataSettings rawDataSettings)

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

يحصل على مصفوفة البيانات الخام الافتراضية.

Parameters:

معاملنوعالوصف
rectangleRectangleالمستطيل للحصول على البيانات الأولية.
rawDataSettingsRawDataSettingsإعدادات البيانات الخام.

Returns: byte[] - مصفوفة البيانات الأولية الافتراضية.

getArgb32Pixel(int x, int y)

public int getArgb32Pixel(int x, int y)

يحصل على بكسل ARGB 32‑بت من الصورة.

Parameters:

معاملنوعالوصف
سintموقع البكسل على المحور x.
صintموقع البكسل على المحور y.

Returns: int - بكسل ARGB 32‑بت للموقع المحدد.

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

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

    // احصل على تمثيل عدد صحيح للون البكسل العلوي الأيسر في الصورة.
    int color = rasterImage.getArgb32Pixel(0, 0);

    // للحصول على قيم مكونات اللون الفردية، قم بإزاحة قيمة اللون بعدد البتات المقابل.
    int alpha = (color >> 24) & 0xff;
    int red = (color >> 16) & 0xff;
    int green = (color >> 8) & 0xff;
    int blue = (color >> 0) & 0xff;

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

// قد يبدو الإخراج هكذا:
// لون البكسل (0,0) هو A=255,R=0,G=0,B=0

getPixel(int x, int y)

public Color getPixel(int x, int y)

يحصل على بكسل الصورة.

Parameters:

معاملنوعالوصف
سintموقع البكسل على المحور x.
صintموقع البكسل على المحور y.

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

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

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

    // احصل على لون البكسل العلوي الأيسر في الصورة.
    com.aspose.imaging.Color color = rasterImage.getPixel(0, 0);

    // احصل على قيم مكونات اللون الفردية
    int alpha = color.getA();
    int red = color.getR();
    int green = color.getG();
    int blue = color.getB();

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

setArgb32Pixel(int x, int y, int argb32Color)

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

يضبط بكسل ARGB 32‑بت للصورة في الموضع المحدد.

Parameters:

معاملنوعالوصف
سintموقع البكسل على المحور x.
صintموقع البكسل على المحور y.
argb32Colorintبكسل ARGB 32‑بت للموقع المحدد.

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


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

    // يضبط لون البكسل العلوي الأيسر.
    rasterImage.setArgb32Pixel(0, 0, com.aspose.imaging.Color.getAqua().toArgb());

    // طريقة أخرى هي تمرير كائن من com.aspose.imaging.Color مباشرةً
    rasterImage.setPixel(0, 0, com.aspose.imaging.Color.getAqua());
} finally {
    image.dispose();
}

setPixel(int x, int y, Color color)

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

يضبط بكسل الصورة في الموضع المحدد.

Parameters:

معاملنوعالوصف
سintموقع البكسل على المحور x.
صintموقع البكسل على المحور y.
colorColorلون البكسل للموقع المحدد.

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


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

    // يضبط لون البكسل العلوي الأيسر.
    rasterImage.setArgb32Pixel(0, 0, com.aspose.imaging.Color.getAqua().toArgb());

    // طريقة أخرى هي تمرير كائن من com.aspose.imaging.Color مباشرةً
    rasterImage.setPixel(0, 0, com.aspose.imaging.Color.getAqua());
} finally {
    image.dispose();
}

readScanLine(int scanLineIndex)

public Color[] readScanLine(int scanLineIndex)

يقرأ السطر الكامل للمسح وفقًا لمؤشر سطر المسح المحدد.

Parameters:

معاملنوعالوصف
scanLineIndexintفهرس الصف الصفري لخط المسح.

Returns: com.aspose.imaging.Color[] - مصفوفة قيم ألوان بكسلات خط المسح.

readArgb32ScanLine(int scanLineIndex)

public int[] readArgb32ScanLine(int scanLineIndex)

يقرأ السطر الكامل للمسح وفقًا لمؤشر سطر المسح المحدد.

Parameters:

معاملنوعالوصف
scanLineIndexintفهرس الصف الصفري لخط المسح.

Returns: int[] - مصفوفة قيم ألوان ARGB 32‑بت لخط المسح.

writeScanLine(int scanLineIndex, Color[] pixels)

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

يكتب السطر الكامل للمسح إلى مؤشر سطر المسح المحدد.

Parameters:

معاملنوعالوصف
scanLineIndexintفهرس الصف الصفري لخط المسح.
pixelsColor[]مصفوفة ألوان البكسلات للكتابة.

writeArgb32ScanLine(int scanLineIndex, int[] argb32Pixels)

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

يكتب السطر الكامل للمسح إلى مؤشر سطر المسح المحدد.

Parameters:

معاملنوعالوصف
scanLineIndexintفهرس الصف الصفري لخط المسح.
argb32Pixelsint[]مصفوفة ألوان ARGB 32‑بت للكتابة.

loadPartialArgb32Pixels(Rectangle rectangle, IPartialArgb32PixelLoader partialPixelLoader)

public void loadPartialArgb32Pixels(Rectangle rectangle, IPartialArgb32PixelLoader partialPixelLoader)

يحمّل بكسلات ARGB 32‑بت جزئيًا حسب الحزم.

Parameters:

معاملنوعالوصف
rectangleRectangleالمستطيل المطلوب.
partialPixelLoaderIPartialArgb32PixelLoaderمحمل بكسل ARGB 32‑بت.

Example: The following example shows how to load and process pixels of a raster image using your own partial processor. يوضح المثال التالي كيفية تحميل ومعالجة بكسلات صورة نقطية باستخدام معالج جزئي خاص بك. على سبيل المثال، اعتبر مشكلة عد البكسلات الشفافة بالكامل في صورة. من أجل عد البكسلات الشفافة باستخدام آلية التحميل الجزئي، يتم تقديم فئة منفصلة تسمى TransparentArgb32PixelCounter التي تُنفّذ com.aspose.imaging.IPartialArgb32PixelLoader.


// أولاً، قم بتنفيذ com.aspose.imaging.IPartialArgb32PixelLoader لحساب جميع البكسلات الشفافة تمامًا.
/** Counts the number of fully transparent pixels with alpha channel value of 0. */
class TransparentArgb32PixelCounter implements com.aspose.imaging.IPartialArgb32PixelLoader {
    /**
     * The number of fully transparent pixels.
     */
    private int count;

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

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

// فيما يلي مثال على استخدام العداد.
com.aspose.imaging.Image image = com.aspose.imaging.Image.load("c:\\temp\\alpha.png");
try {
    com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;

    // أنشئ مثيلاً من com.aspose.imaging.IPartialArgb32PixelLoader ومرره إلى com.aspose.imaging.RasterImage.LoadPartialArgb32Pixels
    TransparentArgb32PixelCounter counter = new TransparentArgb32PixelCounter();

    // حمّل البكسلات لكامل الصورة. يمكن تحديد أي جزء مستطيل من الصورة كالمعامل الأول لطريقة com.aspose.imaging.RasterImage.loadPartialArgb32Pixels.
    rasterImage.loadPartialArgb32Pixels(rasterImage.getBounds(), counter);

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

// قد يبدو الإخراج هكذا:
// عدد البكسلات الشفافة تمامًا هو 55157
// العدد الإجمالي للبكسلات هو 120400

loadPartialPixels(Rectangle desiredRectangle, IPartialPixelLoader pixelLoader)

public void loadPartialPixels(Rectangle desiredRectangle, IPartialPixelLoader pixelLoader)

يحمّل البكسلات جزئيًا حسب الحزم.

Parameters:

معاملنوعالوصف
desiredRectangleRectangleالمستطيل المطلوب.
pixelLoaderIPartialPixelLoaderمحمل البكسلات.

Example: The following example shows how to load and process pixels of a raster image using your own partial processor. يوضح المثال التالي كيفية تحميل ومعالجة بكسلات صورة نقطية باستخدام معالج جزئي خاص بك. على سبيل المثال، ضع في اعتبارك مشكلة حساب البكسلات الشفافة تمامًا في صورة. من أجل حساب الشفافية باستخدام آلية التحميل الجزئي، يتم تقديم فئة منفصلة TransparentPixelCounter تنفّذ com.aspose.imaging.IPartialPixelLoader.


// أولاً، قم بتنفيذ com.aspose.imaging.IPartialPixelLoader لحساب جميع البكسلات الشفافة تمامًا.
/** Counts the number of fully transparent pixels with alpha channel value of 0. */
class TransparentPixelCounter implements com.aspose.imaging.IPartialPixelLoader {
    /**
     * The number of fully transparent pixels.
     */
    private int count;

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

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

// فيما يلي مثال على استخدام العداد.
com.aspose.imaging.Image image = com.aspose.imaging.Image.load("c:\\temp\\alpha.png");
try {
    com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;

    // أنشئ مثيلاً من com.aspose.imaging.IPartialPixelLoader ومرره إلى com.aspose.imaging.RasterImage.loadPartialPixels
    TransparentPixelCounter counter = new TransparentPixelCounter();

    // حمّل البكسلات لكامل الصورة. يمكن تحديد أي جزء مستطيل من الصورة كالمعامل الأول لطريقة com.aspose.imaging.RasterImage.loadPartialPixels.
    rasterImage.loadPartialPixels(rasterImage.getBounds(), counter);

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

// قد يبدو الإخراج هكذا:
// عدد البكسلات الشفافة تمامًا هو 55157
// العدد الإجمالي للبكسلات هو 120400

loadArgb32Pixels(Rectangle rectangle)

public int[] loadArgb32Pixels(Rectangle rectangle)

يحمّل بكسلات ARGB 32‑بت.

Parameters:

معاملنوعالوصف
rectangleRectangleالمستطيل لتحميل البكسلات منه.

Returns: int[] - مصفوفة البكسلات ARGB 32-بت المحمّلة.

Example: The following example shows how to load and process pixels of a raster image. يوضح المثال التالي كيفية تحميل ومعالجة بكسلات صورة نقطية. تمثّل البكسلات كقيم صحيحة 32-بت. على سبيل المثال، ضع في اعتبارك مشكلة حساب البكسلات الشفافة تمامًا في صورة.


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

    // حمّل البكسلات لكامل الصورة. يمكن تحديد أي جزء مستطيل من الصورة كمعامل لطريقة com.aspose.imaging.RasterImage.loadArgb32Pixels.
    int[] pixels = rasterImage.loadArgb32Pixels(rasterImage.getBounds());

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

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

loadArgb64Pixels(Rectangle rectangle)

public long[] loadArgb64Pixels(Rectangle rectangle)

يحمّل بكسلات ARGB 64‑بت.

Parameters:

معاملنوعالوصف
rectangleRectangleالمستطيل لتحميل البكسلات منه.

Returns: long[] - مصفوفة البكسلات ARGB 64-بت المحمّلة.

Example: The following example shows how to load and process pixels of a raster image. يوضح المثال التالي كيفية تحميل ومعالجة بكسلات صورة نقطية. تمثّل البكسلات كقيم صحيحة 64-بت. على سبيل المثال، ضع في اعتبارك مشكلة حساب البكسلات الشفافة تمامًا في صورة.

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

    // حمّل البكسلات لكامل الصورة. يمكن تحديد أي جزء مستطيل من الصورة كمعامل لطريقة com.aspose.imaging.RasterImage.loadArgb64Pixels.
    // لاحظ أن الصورة نفسها يجب أن تكون بدقة 16 بت لكل عينة، لأن com.aspose.imaging.RasterImage.loadArgb64Pixels لا يعمل مع 8 بت لكل عينة.
    // للعمل مع 8 بت لكل عينة، يرجى استخدام الطريقة القديمة الجيدة com.aspose.imaging.RasterImage.loadArgb32Pixels.
    long[] pixels = rasterImage.loadArgb64Pixels(rasterImage.getBounds());

    int count = 0;
    for (long pixel : pixels) {
        // لاحظ أن جميع مكوّنات اللون بما فيها ألفا ممثّلة بقيم 16-بت، لذا فإن القيم المسموح بها تقع في النطاق [0, 63535].
        long alpha = (pixel >> 48) & 0xffff;
        if (alpha == 0) {
            count++;
        }
    }

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

loadPartialArgb64Pixels(Rectangle rectangle, IPartialArgb64PixelLoader partialPixelLoader)

public final void loadPartialArgb64Pixels(Rectangle rectangle, IPartialArgb64PixelLoader partialPixelLoader)

يحمّل بكسلات ARGB 64‑بت جزئيًا حسب الحزم.

Parameters:

معاملنوعالوصف
rectangleRectangleالمستطيل المطلوب.
partialPixelLoaderIPartialArgb64PixelLoaderمحمل البكسلات ARGB 64-بت.

loadPixels(Rectangle rectangle)

public Color[] loadPixels(Rectangle rectangle)

يحمّل البكسلات.

Parameters:

معاملنوعالوصف
rectangleRectangleالمستطيل لتحميل البكسلات منه.

Returns: com.aspose.imaging.Color[] - مصفوفة البكسلات المحمّلة.

Example: The following example shows how to load and process pixels of a raster image. يوضح المثال التالي كيفية تحميل ومعالجة بكسلات صورة نقطية. على سبيل المثال، ضع في اعتبارك مشكلة حساب البكسلات الشفافة تمامًا في صورة.

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

    // حمّل البكسلات لكامل الصورة. يمكن تحديد أي جزء مستطيل من الصورة كمعامل لطريقة Aspose.Imaging.RasterImage.LoadPixels.
    com.aspose.imaging.Color[] pixels = rasterImage.loadPixels(rasterImage.getBounds());

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

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

loadCmykPixels(Rectangle rectangle)

public CmykColor[] loadCmykPixels(Rectangle rectangle)

يقوم بتحميل البكسلات بتنسيق CMYK. هذه الطريقة مهجورة. يرجى استخدام الطريقة الأكثر فعالية loadCmyk32Pixels(Rectangle).

Parameters:

معاملنوعالوصف
rectangleRectangleالمستطيل لتحميل البكسلات منه.

Returns: com.aspose.imaging.CmykColor[] - مصفوفة بكسلات CMYK المحملة.

loadCmyk32Pixels(Rectangle rectangle)

public int[] loadCmyk32Pixels(Rectangle rectangle)

يحمّل البكسلات بتنسيق CMYK.

Parameters:

معاملنوعالوصف
rectangleRectangleالمستطيل لتحميل البكسلات منه.

Returns: int[] - بكسلات CMYK المحملة تُعرض كقيم صحيحة 32‑بت.

loadRawData(Rectangle rectangle, RawDataSettings rawDataSettings, IPartialRawDataLoader rawDataLoader)

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

يحمّل بيانات الصورة الخام باستخدام آلية المعالجة الجزئية.

Parameters:

معاملنوعالوصف
rectangleRectangleالمنطقة المستطيلة المطلوبة في الصورة لتحميل البيانات منها.
rawDataSettingsRawDataSettingsإعدادات البيانات الخام.
rawDataLoaderIPartialRawDataLoaderمحمل البيانات الخام.

Example: The following example shows how to extract pixels from the raw image data using RawDataSettings. المثال التالي يوضح كيفية استخراج البكسلات من بيانات الصورة الخام باستخدام RawDataSettings. على سبيل المثال، اعتبر مشكلة عد البكسلات الشفافة تمامًا في الصورة.


// أولاً، نفّذ عدّادًا. في حالة البيانات الخام، قد يبدو العدّاد هكذا:
/** Counts the number of fully transparent pixels with alpha channel value of 0. */
class TransparentPixelRawDataCounter implements com.aspose.imaging.IPartialRawDataLoader {
    /**
     * The number of fully transparent pixels.
     */
    private int count;

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

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

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

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

        // يتم اعتبار الصيغ البسيطة فقط هنا لتبسيط الشيفرة.
        // لنأخذ في الاعتبار فقط الصور ذات 8 بت لكل عينة.
        for (int i = 0; i < channelBits.length; i++) {
            if (channelBits[i] != 8) {
                throw new java.lang.UnsupportedOperationException();
            }
        }

        switch (this.rawDataSettings.getPixelDataFormat().getPixelFormat()) {
            case com.aspose.imaging.PixelFormat.Rgb:
            case com.aspose.imaging.PixelFormat.Bgr: {
                if (channelBits.length == 4) {
                    // ARGB
                    for (int i = 0; i < data.length; i += 4) {
                        // قناة ألفا تُخزن في النهاية، بعد مكونات اللون.
                        if (data[i + 3] == 0) {
                            this.count++;
                        }
                    }
                }
            }
            break;

            case com.aspose.imaging.PixelFormat.Grayscale: {
                if (channelBits.length == 2) {
                    // تدرج رمادي مع ألفا
                    for (int i = 0; i < data.length; i += 2) {
                        // قناة ألفا تُخزن في النهاية، بعد مكونات اللون.
                        if (data[i + 1] == 0) {
                            this.count++;
                        }
                    }
                }
            }
            break;

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

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

// إليك المثال الرئيسي لاستخدام العدّاد
com.aspose.imaging.Image image = com.aspose.imaging.Image.load("c:\\temp\\alpha.png");
try {
    com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;
    com.aspose.imaging.RawDataSettings settings = rasterImage.getRawDataSettings();

    TransparentPixelRawDataCounter rawDataLoader = new TransparentPixelRawDataCounter(settings);

    // حمّل البكسلات لكامل الصورة. يمكن تحديد أي جزء مستطيل من الصورة كمعامل لطريقة Aspose.Imaging.RasterImage.LoadRawData.
    rasterImage.loadRawData(rasterImage.getBounds(), settings, rawDataLoader);

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

// قد يبدو الإخراج هكذا:
// عدد البكسلات الشفافة تمامًا هو 55157
// العدد الإجمالي للبكسلات هو 120400

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

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

يحمّل البيانات الخام.

Parameters:

معاملنوعالوصف
rectangleRectangleالمستطيل لتحميل البيانات الخام منه.
dstImageBoundsRectangleحدود الصورة الوجهة.
rawDataSettingsRawDataSettingsإعدادات البيانات الخام التي تُستخدم للبيانات المحملة. لاحظ أنه إذا لم تكن البيانات بالتنسيق المحدد فسيتم إجراء تحويل للبيانات.
rawDataLoaderIPartialRawDataLoaderمحمل البيانات الخام.

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

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

يحفظ البيانات الخام.

Parameters:

معاملنوعالوصف
البياناتbyte[]البيانات الخام.
dataOffsetintإزاحة البيانات الخام الابتدائية.
rectangleRectangleالمستطيل للبيانات الخام.
rawDataSettingsRawDataSettingsإعدادات البيانات الخام التي توجد فيها البيانات.

saveArgb32Pixels(Rectangle rectangle, int[] pixels)

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

يحفظ بكسلات ARGB 32‑بت.

Parameters:

معاملنوعالوصف
rectangleRectangleالمستطيل لحفظ البكسلات فيه.
بكسلاتint[]مصفوفة بكسلات ARGB 32‑بت.

Example: The following example fills the central area of a raster image with black pixels using the com. المثال التالي يملأ المنطقة المركزية لصورة نقطية ببكسلات سوداء باستخدام طريقة com.aspose.imaging.RasterImage.saveArgb32Pixels.

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

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

    // المربع الأسود
    int[] pixels = new int[(rasterImage.getWidth() / 2) * (rasterImage.getHeight() / 2)];
    for (int i = 0; i < pixels.length; i++) {
        pixels[i] = com.aspose.imaging.Color.getBlack().toArgb();
    }

    // ارسم المربع الأسود في مركز الصورة.
    com.aspose.imaging.Rectangle area = new com.aspose.imaging.Rectangle(rasterImage.getWidth() / 4, rasterImage.getHeight() / 4, rasterImage.getWidth() / 2, rasterImage.getHeight() / 2);
    rasterImage.saveArgb32Pixels(area, pixels);

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

savePixels(Rectangle rectangle, Color[] pixels)

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

يحفظ البكسلات.

Parameters:

معاملنوعالوصف
rectangleRectangleالمستطيل لحفظ البكسلات فيه.
pixelsColor[]مصفوفة البكسلات.

Example: The following example fills the central area of a raster image with black pixels using the com. المثال التالي يملأ المنطقة المركزية لصورة نقطية بكسلات سوداء باستخدام الطريقة com.aspose.imaging.RasterImage.savePixels.

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

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

    // المربع الأسود
    com.aspose.imaging.Color[] pixels = new com.aspose.imaging.Color[(rasterImage.getWidth() / 2) * (rasterImage.getHeight() / 2)];
    for (int i = 0; i < pixels.length; i++) {
        pixels[i] = com.aspose.imaging.Color.getBlack();
    }

    // ارسم المربع الأسود في مركز الصورة.
    com.aspose.imaging.Rectangle area = new com.aspose.imaging.Rectangle(rasterImage.getWidth() / 4, rasterImage.getHeight() / 4, rasterImage.getWidth() / 2, rasterImage.getHeight() / 2);
    rasterImage.savePixels(area, pixels);

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

toBitmap()

public BufferedImage toBitmap()

يحوّل صورة النقطية إلى bitmap.

Returns: java.awt.image.BufferedImage - البت ماب

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

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

    // معالجة البت ماب الأصلي لجافا.
} finally {
    image.dispose();
}

saveCmykPixels(Rectangle rectangle, CmykColor[] pixels)

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

يحفظ البكسلات. هذه الطريقة مهجورة. يرجى استخدام الطريقة الأكثر فاعلية saveCmyk32Pixels(Rectangle, int[]).

Parameters:

معاملنوعالوصف
rectangleRectangleالمستطيل لحفظ البكسلات فيه.
pixelsCmykColor[]مصفوفة بكسلات CMYK.

saveCmyk32Pixels(Rectangle rectangle, int[] pixels)

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

يحفظ البكسلات.

Parameters:

معاملنوعالوصف
rectangleRectangleالمستطيل لحفظ البكسلات فيه.
بكسلاتint[]بكسلات CMYK معروضة كقيم صحيحة 32-بت.

Example: The following example fills the central area of a raster image with black pixels using the com. المثال التالي يملأ المنطقة المركزية لصورة نقطية بكسلات سوداء باستخدام الطريقة com.aspose.imaging.RasterImage.saveCmyk32Pixels.

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

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

    // احصل على تمثيل صحيح للون الأسود في مساحة ألوان CMYK.
    int blackCmyk = com.aspose.imaging.CmykColorHelper.toCmyk(com.aspose.imaging.Color.getBlack());

    // المربع الأسود.
    int[] pixels = new int[(rasterImage.getWidth() / 2) * (rasterImage.getHeight() / 2)];
    for (int i = 0; i < pixels.length; i++) {
        pixels[i] = blackCmyk;
    }

    // ارسم المربع الأسود في مركز الصورة.
    com.aspose.imaging.Rectangle area = new com.aspose.imaging.Rectangle(rasterImage.getWidth() / 4, rasterImage.getHeight() / 4, rasterImage.getWidth() / 2, rasterImage.getHeight() / 2);
    rasterImage.saveCmyk32Pixels(area, pixels);

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

setResolution(double dpiX, double dpiY)

public void setResolution(double dpiX, double dpiY)

يضبط الدقة لهذه RasterImage.

Parameters:

معاملنوعالوصف
dpiXdoubleالدقة الأفقية، بوحدات النقاط في البوصة، لـ RasterImage.
dpiYdoubleالدقة العمودية، بوحدات النقاط في البوصة، لـ RasterImage.

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

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

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

    // احصل على الدقة الأفقية والعمودية للصورة
    double horizontalResolution = rasterImage.getHorizontalResolution();
    double verticalResolution = rasterImage.getVerticalResolution();
    System.out.println("The horizontal resolution, in pixels per inch: " + horizontalResolution);
    System.out.println("The vertical resolution, in pixels per inch: " + verticalResolution);

    if (horizontalResolution != 96.0 || verticalResolution != 96.0) {
        // استخدم طريقة SetResolution لتحديث قيمتي الدقة في استدعاء واحد.
        System.out.println("Set resolution values to 96 dpi");
        rasterImage.setResolution(96.0, 96.0);

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

    // قد يبدو الإخراج هكذا:
    // الدقة الأفقية، بوحدات البكسل لكل بوصة: 300.0
    // الدقة العمودية، بوحدات البكسل لكل بوصة: 300.0
    // تعيين قيم الدقة إلى 96 نقطة في البوصة
    // الدقة الأفقية، بوحدات البكسل لكل بوصة: 96.0
    // الدقة العمودية، بوحدات البكسل لكل بوصة: 96.0
} finally {
    image.dispose();
}

setPalette(IColorPalette palette, boolean updateColors)

public void setPalette(IColorPalette palette, boolean updateColors)

يضبط لوحة ألوان الصورة.

Parameters:

معاملنوعالوصف
paletteIColorPaletteلوحة الألوان لتعيينها.
updateColorsbooleanإذا تم تعيينه إلى true سيتم تحديث الألوان وفقًا للوحة الألوان الجديدة؛ وإلا ستبقى فهارس الألوان دون تغيير. لاحظ أن الفهارس غير المتغيرة قد تتسبب في تعطل الصورة عند التحميل إذا لم يكن لبعض الفهارس إدخالات مطابقة في لوحة الألوان.

autoRotate()

public final void autoRotate()

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

resize(int newWidth, int newHeight, ImageResizeSettings settings)

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

يعيد تحجيم الصورة باستخدام خيارات موسعة.

Parameters:

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

rotate(float angle, boolean resizeProportionally, Color backgroundColor)

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

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

Parameters:

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

rotate(float angle)

public void rotate(float angle)

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

Parameters:

معاملنوعالوصف
anglefloatزاوية الدوران بالدرجات. القيم الموجبة تدور باتجاه عقارب الساعة.

binarizeFixed(byte threshold)

public void binarizeFixed(byte threshold)

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

Parameters:

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

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

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

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

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

binarizeOtsu()

public void binarizeOtsu()

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

Example: The following example binarizes a raster 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.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;

    // قم بتحويل الصورة إلى ثنائية باستخدام عتبة أوتسو.
    rasterImage.binarizeOtsu();
    rasterImage.save(dir + "sample.BinarizeOtsu.png");
} finally {
    image.dispose();
}

binarizeBradley(double brightnessDifference)

public void binarizeBradley(double brightnessDifference)

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

Parameters:

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

binarizeBradley(double brightnessDifference, int windowSize)

public void binarizeBradley(double brightnessDifference, int windowSize)

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

Parameters:

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

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

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

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

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

blend(Point origin, RasterImage overlay, Rectangle overlayArea)

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

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

Parameters:

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

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

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

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

Parameters:

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

blend(Point origin, RasterImage overlay)

public final void blend(Point origin, RasterImage overlay)

يمزج هذه النسخة من الصورة مع overlay مع قيمة ألفا == 255.

Parameters:

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

blend(Point origin, RasterImage overlay, byte overlayAlpha)

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

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

Parameters:

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

grayscale()

public void grayscale()

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

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

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

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

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

normalizeHistogram()

public void normalizeHistogram()

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

autoBrightnessContrast()

public void autoBrightnessContrast()

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

adjustBrightness(int brightness)

public void adjustBrightness(int brightness)

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

Parameters:

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

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

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

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

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

adjustContrast(float contrast)

public void adjustContrast(float contrast)

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

Parameters:

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

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

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

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

    // حدد قيمة التباين. القيم المقبولة للتباين تقع في النطاق [-100f, 100f].
    rasterImage.adjustContrast(50);
    rasterImage.save(dir + "sample.AdjustContrast.png");
} finally {
    image.dispose();
}

embedDigitalSignature(String password)

public void embedDigitalSignature(String password)

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

Parameters:

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

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

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

analyzePercentageDigitalSignature(String password)

public int analyzePercentageDigitalSignature(String password)

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

Parameters:

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

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

isDigitalSigned(String password)

public boolean isDigitalSigned(String password)

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


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

Parameters:

معاملنوعالوصف
كلمة المرورjava.lang.Stringكلمة المرور للتحقق من التوقيع.

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

isDigitalSigned(String password, int percentageThreshold)

public boolean isDigitalSigned(String password, int percentageThreshold)

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


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

Parameters:

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

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

adjustGamma(float gammaRed, float gammaGreen, float gammaBlue)

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

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

Parameters:

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

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

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

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

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

adjustGamma(float gamma)

public void adjustGamma(float gamma)

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

Parameters:

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

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

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

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

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

getSkewAngle()

public final float getSkewAngle()

يحصل على زاوية الميل. هذه الطريقة قابلة للتطبيق على المستندات النصية الممسوحة ضوئيًا، لتحديد زاوية الميل أثناء المسح.

Returns: float - زاوية الميل، بالدرجات.

normalizeAngle()

public final void normalizeAngle()

يقوم بتطبيع الزاوية. هذه الطريقة قابلة للتطبيق على مستندات النص الممسوحة ضوئياً للتخلص من الالتواء في المسح. تستخدم هذه الطريقة #getSkewAngle.getSkewAngle و Image.rotate(float) الطرق.

normalizeAngle(boolean resizeProportionally, Color backgroundColor)

public void normalizeAngle(boolean resizeProportionally, Color backgroundColor)

يقوم بتطبيع الزاوية. هذه الطريقة قابلة للتطبيق على مستندات النص الممسوحة ضوئياً للتخلص من الالتواء في المسح. تستخدم هذه الطريقة #rotate(float, boolean, Color).rotate(float, boolean, Color) الطرق.

Parameters:

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

Example: Skew is an artifact that might appear during document scanning process when the text/images of the document get rotated at a slight angle. الانحراف هو تشوه قد يظهر أثناء عملية مسح المستند عندما يتم تدوير النص/الصور في المستند بزاوية طفيفة. يمكن أن يكون له أسباب مختلفة لكن الأكثر شيوعاً هو أن الورقة تُنقل بشكل غير صحيح أثناء المسح. لذلك، تصحيح الانحراف هو عملية اكتشاف وإصلاح هذه المشكلة في الملفات الممسوحة (i.e. bitmap) بحيث تكون المستندات المصححة للانحراف تحتوي على النص/الصور بشكل صحيح ومُعدل أفقياً.

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

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

// تخلص من المسح المائل باستخدام المعلمات الافتراضية
com.aspose.imaging.RasterImage image = (com.aspose.imaging.RasterImage) com.aspose.imaging.Image.load(inputFilePath);
try {
    // تصحيح الانحراف
    image.normalizeAngle(false /*do not resize*/, com.aspose.imaging.Color.getLightGray() /*background color*/);
    image.save(outputFilePath);
} finally {
    image.close();
}

filter(Rectangle rectangle, FilterOptionsBase options)

public void filter(Rectangle rectangle, FilterOptionsBase options)

يفلتر المستطيل المحدد.

Parameters:

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

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

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

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

    // طبق مرشح متوسط بحجم مستطيل 5 على الصورة بأكملها.
    rasterImage.filter(rasterImage.getBounds(), new com.aspose.imaging.imagefilters.filteroptions.MedianFilterOptions(5));
    rasterImage.save(dir + "sample.MedianFilter.png");
} finally {
    image.dispose();
}

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

    // طبق مرشح تمهيد ثنائي الجانب بحجم نواة 5 على الصورة بأكملها.
    rasterImage.filter(rasterImage.getBounds(), new com.aspose.imaging.imagefilters.filteroptions.BilateralSmoothingFilterOptions(5));
    rasterImage.save(dir + "sample.BilateralSmoothingFilter.png");
} finally {
    image.dispose();
}

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

    // طبق مرشح تمويه غاوسي بنصف قطر 5 وقيمة سيغما 4.0 على الصورة بأكملها.
    rasterImage.filter(rasterImage.getBounds(), new com.aspose.imaging.imagefilters.filteroptions.GaussianBlurFilterOptions(5, 4.0));
    rasterImage.save(dir + "sample.GaussianBlurFilter.png");
} finally {
    image.dispose();
}

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

    // طبق مرشح غاوس-واينر بنصف قطر 5 وقيمة تمهيد 4.0 على الصورة بأكملها.
    rasterImage.filter(rasterImage.getBounds(), new com.aspose.imaging.imagefilters.filteroptions.GaussWienerFilterOptions(5, 4.0));
    rasterImage.save(dir + "sample.GaussWienerFilter.png");
} finally {
    image.dispose();
}

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

    // طبق مرشح واينر حركي بطول 5، قيمة تمهيد 4.0 وزاوية 90.0 درجة على الصورة بأكملها.
    rasterImage.filter(rasterImage.getBounds(), new com.aspose.imaging.imagefilters.filteroptions.MotionWienerFilterOptions(10, 1.0, 90.0));
    rasterImage.save(dir + "sample.MotionWienerFilter.png");
} finally {
    image.dispose();
}

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

    // طبق مرشح شحذ بحجم نواة 5 وقيمة سيغما 4.0 على الصورة بأكملها.
    rasterImage.filter(rasterImage.getBounds(), new com.aspose.imaging.imagefilters.filteroptions.SharpenFilterOptions(5, 4.0));
    rasterImage.save(dir + "sample.SharpenFilter.png");
} finally {
    image.dispose();
}

replaceColor(Color oldColor, byte oldColorDiff, Color newColor)

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

يستبدل لونًا بآخر مع فرق مسموح به ويحافظ على قيمة ألفا الأصلية للحفاظ على حواف ناعمة.

Parameters:

معاملنوعالوصف
oldColorColorاللون القديم الذي سيتم استبداله.
oldColorDiffbyteالفرق المسموح به في اللون القديم لتمكين توسيع نغمة اللون المستبدل.
newColorColorاللون الجديد لاستبدال اللون القديم به.

replaceColor(int oldColorArgb, byte oldColorDiff, int newColorArgb)

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

يستبدل لونًا بآخر مع فرق مسموح به ويحافظ على قيمة ألفا الأصلية للحفاظ على حواف ناعمة.

Parameters:

معاملنوعالوصف
oldColorArgbintقيمة ARGB للون القديم التي سيتم استبدالها.
oldColorDiffbyteالفرق المسموح به في اللون القديم لتمكين توسيع نغمة اللون المستبدل.
newColorArgbintقيمة ARGB للون الجديد لاستبدال اللون القديم به.

replaceNonTransparentColors(Color newColor)

public void replaceNonTransparentColors(Color newColor)

يستبدل جميع الألوان غير الشفافة باللون الجديد ويحافظ على قيمة ألفا الأصلية للحفاظ على حواف ناعمة. ملاحظة: إذا استخدمتها على صور بدون شفافية، سيتم استبدال جميع الألوان بلون واحد.

Parameters:

معاملنوعالوصف
newColorColorاللون الجديد لاستبدال الألوان غير الشفافة به.

replaceNonTransparentColors(int newColorArgb)

public void replaceNonTransparentColors(int newColorArgb)

يستبدل جميع الألوان غير الشفافة باللون الجديد ويحافظ على قيمة ألفا الأصلية للحفاظ على حواف ناعمة. ملاحظة: إذا استخدمتها على صور بدون شفافية، سيتم استبدال جميع الألوان بلون واحد.

Parameters:

معاملنوعالوصف
newColorArgbintقيمة ARGB للون الجديد لاستبدال الألوان غير الشفافة به.