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)ينفّذ تمويهًا (dithering) على الصورة الحالية.
dither(int ditheringMethod, int bitsCount, IColorPalette customPalette)ينفّذ تمويهًا (dithering) على الصورة الحالية.
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 حيث alpha == 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:

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

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

int imageWidth = 3;
int imageHeight = 2;

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

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

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

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

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

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

getUseRawData()

public boolean getUseRawData()

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

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

setUseRawData(boolean value)

public void setUseRawData(boolean value)

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

Parameters:

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

getUpdateXmpData()

public boolean getUpdateXmpData()

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

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

setUpdateXmpData(boolean value)

public void setUpdateXmpData(boolean value)

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

Parameters:

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

getRawIndexedColorConverter()

public IIndexedColorConverter getRawIndexedColorConverter()

يحصل أو يعيّن محول اللون المفهرس

Returns: IIndexedColorConverter - The indexed color converter

setRawIndexedColorConverter(IIndexedColorConverter value)

public void setRawIndexedColorConverter(IIndexedColorConverter value)

يحصل أو يعيّن محول اللون المفهرس

Parameters:

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

getRawCustomColorConverter()

public IColorConverter getRawCustomColorConverter()

يحصل أو يعيّن محول اللون المخصص

Returns: IColorConverter - The custom color converter

setRawCustomColorConverter(IColorConverter value)

public void setRawCustomColorConverter(IColorConverter value)

يحصل أو يعيّن محول اللون المخصص

Parameters:

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

getRawFallbackIndex()

public int getRawFallbackIndex()

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

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

setRawFallbackIndex(int value)

public void setRawFallbackIndex(int value)

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

Parameters:

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

getRawDataSettings()

public RawDataSettings getRawDataSettings()

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

Returns: RawDataSettings

isUsePalette()

public boolean isUsePalette()

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

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

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

getRawDataFormat()

public PixelDataFormat getRawDataFormat()

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

Returns: PixelDataFormat - The raw data format.

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


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

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

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

getRawLineSize()

public int getRawLineSize()

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

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

isRawDataAvailable()

public boolean isRawDataAvailable()

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

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

getHorizontalResolution()

public double getHorizontalResolution()

يحصل أو يعيّن الدقة الأفقية، بوحدة البكسل لكل بوصة، لهذا RasterImage.

Returns: مزدوج - الدقة الأفقية.

ملاحظة: بشكل افتراضي تكون هذه القيمة دائمًا 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:

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

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

getVerticalResolution()

public double getVerticalResolution()

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

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

ملاحظة: بشكل افتراضي تكون هذه القيمة دائمًا 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:

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

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

hasTransparentColor()

public boolean hasTransparentColor()

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


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

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

hasAlpha()

public boolean hasAlpha()

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

Returns: منطقي - true إذا كان لهذه الحالة ألفا؛ وإلا false.

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


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

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

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

getTransparentColor()

public Color getTransparentColor()

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

Returns: Color

setTransparentColor(boolean value)

public void setTransparentColor(boolean value)

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


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

Parameters:

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

setTransparentColor(Color value)

public void setTransparentColor(Color value)

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

Parameters:

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

getImageOpacity()

public float getImageOpacity()

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

Returns: عائم - قيمة الشفافية بين 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)

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

Parameters:

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

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

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

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

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

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

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

    // نفّذ تلوين فلويد باستخدام لوحة ألوان 1-بت تحتوي فقط على لونين - أسود وأبيض.
    // كلما زادت عدد البتات المحددة، ارتفعت الجودة وزاد حجم الصورة الناتجة.
    // لاحظ أن لوحات الألوان 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)

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

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:

معاملنوعالوصف
xintموقع البكسل x.
yintموقع البكسل 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:

معاملنوعالوصف
xintموقع البكسل x.
yintموقع البكسل y.

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

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

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

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

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

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

setArgb32Pixel(int x, int y, int argb32Color)

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

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

Parameters:

معاملنوعالوصف
xintموقع البكسل x.
yintموقع البكسل 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:

معاملنوعالوصف
xintموقع البكسل x.
yintموقع البكسل y.
colorColorلون البكسل للموقع المحدد.

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


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

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

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

readScanLine(int scanLineIndex)

public Color[] readScanLine(int scanLineIndex)

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

Parameters:

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

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

readArgb32ScanLine(int scanLineIndex)

public int[] readArgb32ScanLine(int scanLineIndex)

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

Parameters:

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

Returns: int[] - مصفوفة قيم ألوان 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) {
                    // Grayscale Alpha
                    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، يتم تدوير الصورة وفقًا لذلك، مما يوفر تجربة مشاهدة سلسة عبر مختلف المنصات والأجهزة. تُبسّط عملية التدوير الآلية معالجة الصور وتحسّن قابلية الاستخدام العامة، خاصةً عند التعامل مع دفعات كبيرة من الصور ذات الاتجاهات المتنوعة.

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 حيث alpha == 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كلمة المرور (الحد الأدنى 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)

public boolean isDigitalSigned(String password)

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


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

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)

يُعَدِّل الزاوية. هذه الطريقة قابلة للتطبيق على المستندات النصية الممسوحة للتخلص من المسح المائل. هذه الطريقة تستخدم #getSkewAngle.getSkewAngle وطرق #rotate(float, boolean, Color).rotate(float, boolean, Color).

Parameters:

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

Example: Skew is an artifact that might appear during document scanning process when the text/images of the document get rotated at a slight angle. الانحراف هو أثر قد يظهر أثناء عملية مسح المستند عندما يتم تدوير النص/الصور في المستند بزاوية طفيفة. يمكن أن يكون له أسباب متعددة لكن الأكثر شيوعًا هو تحرك الورقة أثناء المسح. لذلك، تصحيح الانحراف هو عملية اكتشاف وإصلاح هذه المشكلة في الملفات الممسوحة (مثل 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 للون الجديد لاستبدال الألوان غير الشفافة به.