Class RasterCachedMultipageImage
اسم الفضاء : Aspose.Imaging تجميع: Aspose.Imaging.dll (25.5.0)
الصورة متعددة الصفحات
public abstract class RasterCachedMultipageImage : RasterCachedImage, IDisposable, IObjectWithBounds, IRasterImageArgb32PixelLoader, IRasterImageRawDataLoader, IHasXmpData, IHasMetadata, IMultipageImageInheritance
object ← DisposableObject ← DataStreamSupporter ← Image ← RasterImage ← RasterCachedImage ← RasterCachedMultipageImage
Derived
ApngImage , DicomImage , DjvuImage , GifImage , IcoImage , TiffImage , WebPImage
Implements
IDisposable , IObjectWithBounds , IRasterImageArgb32PixelLoader , IRasterImageRawDataLoader , IHasXmpData , IHasMetadata , IMultipageImage
الأعضاء الموروثين
RasterCachedImage.CacheData() , RasterCachedImage.Blend(Point, RasterImage, Rectangle, byte) , RasterCachedImage.Resize(int, int, ResizeType) , RasterCachedImage.Resize(int, int, ImageResizeSettings) , RasterCachedImage.RotateFlip(RotateFlipType) , RasterCachedImage.Rotate(float, bool, Color) , RasterCachedImage.Crop(Rectangle) , RasterCachedImage.Dither(DitheringMethod, int, IColorPalette) , RasterCachedImage.Grayscale() , RasterCachedImage.NormalizeHistogram() , RasterCachedImage.BinarizeFixed(byte) , RasterCachedImage.BinarizeOtsu() , RasterCachedImage.BinarizeBradley(double, int) , RasterCachedImage.BinarizeBradley(double) , RasterCachedImage.AdjustBrightness(int) , RasterCachedImage.AdjustContrast(float) , RasterCachedImage.AdjustGamma(float, float, float) , RasterCachedImage.AdjustGamma(float) , RasterCachedImage.OnCached() , RasterCachedImage.OnPaletteChanged(IColorPalette, IColorPalette) , RasterCachedImage.IsCached , RasterImage.xmpData , RasterImage.RemoveMetadata() , RasterImage.Save(Stream, ImageOptionsBase, Rectangle) , RasterImage.GetModifyDate(bool) , RasterImage.Dither(DitheringMethod, int) , RasterImage.Dither(DitheringMethod, int, IColorPalette) , RasterImage.GetDefaultPixels(Rectangle, IPartialArgb32PixelLoader) , RasterImage.GetDefaultRawData(Rectangle, IPartialRawDataLoader, RawDataSettings) , RasterImage.GetDefaultArgb32Pixels(Rectangle) , RasterImage.GetDefaultRawData(Rectangle, RawDataSettings) , RasterImage.GetArgb32Pixel(int, int) , RasterImage.GetPixel(int, int) , RasterImage.SetArgb32Pixel(int, int, int) , RasterImage.SetPixel(int, int, Color) , RasterImage.ReadScanLine(int) , RasterImage.ReadArgb32ScanLine(int) , RasterImage.WriteScanLine(int, Color[]) , RasterImage.WriteArgb32ScanLine(int, int[]) , RasterImage.LoadPartialArgb32Pixels(Rectangle, IPartialArgb32PixelLoader) , RasterImage.LoadPartialPixels(Rectangle, IPartialPixelLoader) , RasterImage.LoadArgb32Pixels(Rectangle) , RasterImage.LoadArgb64Pixels(Rectangle) , RasterImage.LoadPartialArgb64Pixels(Rectangle, IPartialArgb64PixelLoader) , RasterImage.LoadPixels(Rectangle) , RasterImage.LoadCmykPixels(Rectangle) , RasterImage.LoadCmyk32Pixels(Rectangle) , RasterImage.LoadRawData(Rectangle, RawDataSettings, IPartialRawDataLoader) , RasterImage.LoadRawData(Rectangle, Rectangle, RawDataSettings, IPartialRawDataLoader) , RasterImage.SaveRawData(byte[], int, Rectangle, RawDataSettings) , RasterImage.SaveArgb32Pixels(Rectangle, int[]) , RasterImage.SavePixels(Rectangle, Color[]) , RasterImage.SaveCmykPixels(Rectangle, CmykColor[]) , RasterImage.SaveCmyk32Pixels(Rectangle, int[]) , RasterImage.SetResolution(double, double) , RasterImage.SetPalette(IColorPalette, bool) , RasterImage.Resize(int, int, ImageResizeSettings) , RasterImage.Rotate(float, bool, Color) , RasterImage.Rotate(float) , RasterImage.BinarizeFixed(byte) , RasterImage.BinarizeOtsu() , RasterImage.BinarizeBradley(double) , RasterImage.BinarizeBradley(double, int) , RasterImage.Blend(Point, RasterImage, Rectangle, byte) , RasterImage.Blend(Point, RasterImage, byte) , RasterImage.Grayscale() , RasterImage.NormalizeHistogram() , RasterImage.AdjustBrightness(int) , RasterImage.AdjustContrast(float) , RasterImage.AdjustGamma(float, float, float) , RasterImage.AdjustGamma(float) , RasterImage.GetSkewAngle() , RasterImage.NormalizeAngle() , RasterImage.NormalizeAngle(bool, Color) , RasterImage.Filter(Rectangle, FilterOptionsBase) , RasterImage.ReplaceColor(Color, byte, Color) , RasterImage.ReplaceColor(int, byte, int) , RasterImage.ReplaceNonTransparentColors(Color) , RasterImage.ReplaceNonTransparentColors(int) , RasterImage.ToBitmap() , RasterImage.ReleaseManagedResources() , RasterImage.UpdateMetadata() , RasterImage.UpdateDimensions(int, int) , RasterImage.PremultiplyComponents , RasterImage.UseRawData , RasterImage.UpdateXmpData , RasterImage.XmpData , RasterImage.RawIndexedColorConverter , RasterImage.RawCustomColorConverter , RasterImage.RawFallbackIndex , RasterImage.RawDataSettings , RasterImage.UsePalette , RasterImage.RawDataFormat , RasterImage.RawLineSize , RasterImage.IsRawDataAvailable , RasterImage.HorizontalResolution , RasterImage.VerticalResolution , RasterImage.HasTransparentColor , RasterImage.HasAlpha , RasterImage.TransparentColor , RasterImage.ImageOpacity , RasterImage.DataLoader , Image.CanLoad(string) , Image.CanLoad(string, LoadOptions) , Image.CanLoad(Stream) , Image.CanLoad(Stream, LoadOptions) , Image.Create(ImageOptionsBase, int, int) , Image.Create(Image[]) , Image.Create(MultipageCreateOptions) , Image.Create(string[], bool) , Image.Create(string[]) , Image.Create(Image[], bool) , Image.GetFileFormat(string) , Image.GetFileFormat(Stream) , Image.GetFittingRectangle(Rectangle, int, int) , Image.GetFittingRectangle(Rectangle, int[], int, int) , Image.Load(string, LoadOptions) , Image.Load(string) , Image.Load(Stream, LoadOptions) , Image.Load(Stream) , Image.GetProportionalWidth(int, int, int) , Image.GetProportionalHeight(int, int, int) , Image.RemoveMetadata() , Image.CanSave(ImageOptionsBase) , Image.Resize(int, int) , Image.Resize(int, int, ResizeType) , Image.Resize(int, int, ImageResizeSettings) , Image.GetDefaultOptions(object[]) , Image.GetOriginalOptions() , Image.ResizeWidthProportionally(int) , Image.ResizeHeightProportionally(int) , Image.ResizeWidthProportionally(int, ResizeType) , Image.ResizeHeightProportionally(int, ResizeType) , Image.ResizeWidthProportionally(int, ImageResizeSettings) , Image.ResizeHeightProportionally(int, ImageResizeSettings) , Image.RotateFlip(RotateFlipType) , Image.Rotate(float) , Image.Crop(Rectangle) , Image.Crop(int, int, int, int) , Image.Save() , Image.Save(string) , Image.Save(string, ImageOptionsBase) , Image.Save(string, ImageOptionsBase, Rectangle) , Image.Save(Stream, ImageOptionsBase) , Image.Save(Stream, ImageOptionsBase, Rectangle) , Image.GetSerializedStream(ImageOptionsBase, Rectangle, out int) , Image.SetPalette(IColorPalette, bool) , Image.UpdateContainer(Image) , Image.GetCanNotSaveMessage(ImageOptionsBase) , Image.GetFitRectangle(Rectangle) , Image.GetImage2Export(ImageOptionsBase, Rectangle, IImageExporter) , Image.GetFitRectangle(Rectangle, int[]) , Image.OnPaletteChanged(IColorPalette, IColorPalette) , Image.OnPaletteChanging(IColorPalette, IColorPalette) , Image.ReleaseManagedResources() , Image.BitsPerPixel , Image.Bounds , Image.Container , Image.Height , Image.Palette , Image.UsePalette , Image.Size , Image.Width , Image.InterruptMonitor , Image.BufferSizeHint , Image.AutoAdjustPalette , Image.HasBackgroundColor , Image.FileFormat , Image.BackgroundColor , DataStreamSupporter.timeout , DataStreamSupporter.CacheData() , DataStreamSupporter.Save() , DataStreamSupporter.Save(Stream) , DataStreamSupporter.Save(string) , DataStreamSupporter.Save(string, bool) , DataStreamSupporter.SaveData(Stream) , DataStreamSupporter.ReleaseManagedResources() , DataStreamSupporter.OnDataStreamContainerChanging(StreamContainer) , DataStreamSupporter.DataStreamContainer , DataStreamSupporter.IsCached , DisposableObject.Dispose() , DisposableObject.ReleaseManagedResources() , DisposableObject.ReleaseUnmanagedResources() , DisposableObject.VerifyNotDisposed() , DisposableObject.Disposed , object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Constructors
RasterCachedMultipageImage(ICOLORPALET)
يبدأ مثالًا جديدًا من فئة Aspose.Imaging.RasterCachedMultipageImage.
protected RasterCachedMultipageImage(IColorPalette colorPalette)Parameters
colorPalette IColorPalette
اللوحة الألوان .
RasterCachedMultipageImage()
يبدأ مثالًا جديدًا من فئة Aspose.Imaging.RasterCachedMultipageImage.
protected RasterCachedMultipageImage()Properties
BackgroundColor
يحصل أو يضع قيمة لون الخلفية.
public override Color BackgroundColor { get; set; }قيمة الممتلكات
BitsPerPixel
يحصل على بطاقات الصورة لكل عدد بكسل.
public override int BitsPerPixel { get; }قيمة الممتلكات
HasAlpha
يحصل على قيمة تشير إلى ما إذا كانت هذه الحالة لديها ألفا.
public override bool HasAlpha { get; }قيمة الممتلكات
HasTransparentColor
يحصل على قيمة تشير إلى ما إذا كانت الصورة لها لون شفاف.
public override bool HasTransparentColor { get; }قيمة الممتلكات
Height
يحصل على ارتفاع الصورة.
public override int Height { get; }قيمة الممتلكات
ImageOpacity
يبدو أن هذه الصورة غير مسبوقة.
public override float ImageOpacity { get; }قيمة الممتلكات
IsCached
يحصل على قيمة تشير إلى ما إذا كانت بيانات الصورة مخفية حاليا.
public override bool IsCached { get; }قيمة الممتلكات
PageCount
احصل على صفحة العد.
public abstract int PageCount { get; }قيمة الممتلكات
PageExportingAction
يحصل أو يضع صفحة تصدير العمل.يرجى ملاحظة أن إعداد هذه الطريقة سوف يطلق تلقائيًا موارد الصفحة بعد أن يتم تنفيذها.سيتم تنفيذها مباشرة قبل أن يتم حفظ كل صفحة.
public virtual PageExportingAction PageExportingAction { get; set; }قيمة الممتلكات
Examples
يظهر المثال التالي تحويل المجموعة قبل حفظ (التصدير) صور Tiff.
string fileName = "10MB_Tif.tif";
string inputFileName = fileName;
string outputFileNameTif = "output.tif";
//The possibility of batch conversion before saving (exporting) Tiff images is implemented.
using (Aspose.Imaging.FileFormats.Tiff.TiffImage tiffImage = (Aspose.Imaging.FileFormats.Tiff.TiffImage)Aspose.Imaging.Image.Load(inputFileName))
{
// Set batch operation for pages
tiffImage.PageExportingAction = delegate(int index, Image page)
{
// Fires garbage collection to avoid unnecessary garbage storage from previous pages
GC.Collect();
((Aspose.Imaging.RasterImage)page).Rotate(90);
};
tiffImage.Save(outputFileNameTif);
/* Attention! In batch mode all pages will be released in this line!
If you want to further perform operations on the original image, you should reload it from the source to another instance. */
}Pages
احصل على الصفحات
public abstract Image[] Pages { get; }قيمة الممتلكات
Image [ ]
Width
يحصل على عرض الصورة.
public override int Width { get; }قيمة الممتلكات
XmpData
يحصل أو يضع بيانات XMP من الإطار.
public override XmpPacketWrapper XmpData { get; set; }قيمة الممتلكات
Methods
AdjustBrightness(إنت)
تعديل brightness" للصورة.
public override void AdjustBrightness(int brightness)Parameters
brightness int
قيمة الضوء
AdjustContrast(السفينة)
التصوير الفوتوغرافي.صورة التباين
public override void AdjustContrast(float contrast)Parameters
contrast float
قيمة التباين (في نطاق [-100؛ 100])
AdjustGamma(السفينة، السفينة، السفينة)
تصحيح غاما للصورة
public override void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)Parameters
gammaRed float
القناة الحمراء معدل القناة الحمراء
gammaGreen float
غاما لـ قناة خضراء
gammaBlue float
القناة الزرقاء معدل القناة الزرقاء
AdjustGamma(السفينة)
تصحيح غاما للصورة
public override void AdjustGamma(float gamma)Parameters
gamma float
غاما لعدد القنوات الحمراء والخضراء
BinarizeBradley(المزدوج، إنت)
ثنائي الصورة باستخدام خوارزمية الحد الأقصى التكيفية لـ Bradley باستخدام الحد الأقصى الشامل للصورة
public override void BinarizeBradley(double brightnessDifference, int windowSize)Parameters
brightnessDifference double
الفرق في الضوء بين بكسل ومتوسط نافذة بكسل s x sتركز حول هذا البكسل.
windowSize int
حجم نافذة x s من البكسلات التي تركز حول هذا البكسل
BinarizeBradley(مزدوجة)
ثنائي الصورة باستخدام خوارزمية الحد الأقصى التكيفية لـ Bradley باستخدام الحد الأقصى الشامل للصورة
public override void BinarizeBradley(double brightnessDifference)Parameters
brightnessDifference double
الفرق في الضوء بين بكسل ومتوسط نافذة بكسل s x sتركز حول هذا البكسل.
BinarizeFixed(بيوت)
ثنائي الصورة مع الحد الأقصى المحدد مسبقا
public override void BinarizeFixed(byte threshold)Parameters
threshold byte
إذا كانت القيمة الرمادية المقابلة للبكسل أكبر من الحد الأقصى، فإن قيمة255 سيتم تخصيصها ، 0 خلاف ذلك.
BinarizeOtsu()
ثنائي الصورة مع حافة أوتسو
public override void BinarizeOtsu()Blend(نقطة، RasterImage، Rectangle، بايت)
خلط هذه المثال الصورة مع الصورة overlay".
public override void Blend(Point origin, RasterImage overlay, Rectangle overlayArea, byte overlayAlpha = 255)Parameters
origin Point
صورة الخلفية المختلطة الأصل.
overlay RasterImage
الصورة الكبيرة .
overlayArea Rectangle
منطقة التعبئة.
overlayAlpha byte
ألفا الفائض .
Exceptions
صورة استثناء
CacheData()
إخفاء البيانات الخاصة.
public override void CacheData()CanDoAdjustments()
يحدد ما إذا كانت هذه الحالة [يمكن إجراء تعديلات].
protected virtual bool CanDoAdjustments()Returns
وَإِنْ كُنْتُمْ مُؤْمِنِينَ فَإِنْ كُنْتُمْ مُؤْمِنِينَ فَإِنْ كُنْتُمْ مُؤْمِنِينَ فَإِنْ كُنْتُمْ مُؤْمِنِينَ فَإِنْ كُنْتُمْ مُؤْمِنِينَ فَإِنْ كُنْتُمْ مُؤْمِنِينَ فَإِنْ كُنْتُمْ مُؤْمِنِينَ
Crop(Rectangle)
كسر الصورة .
public override void Crop(Rectangle rectangle)Parameters
rectangle Rectangle
من المستطيل .
Crop(إنت، إنت، إنت، إنت)
صورة النبات مع التغيرات.
public override void Crop(int leftShift, int rightShift, int topShift, int bottomShift)Parameters
leftShift int
يتغير اليسار .
rightShift int
التغيير الصحيح
topShift int
التغيير العلوي
bottomShift int
التغيير السفلي .
Exceptions
اليمين غير صحيح - اليمين غير صحيحأويجب أن يكون المستطيل في حدود الصورة. - المستطيل
لا يمكن زراعة الصورة. مؤشر الإطار: " + frameIndexأولا يمكن زرع الصورة.
CropMain(إنت، إنت، إنت، إنت)
كرايس الرئيسي .
protected virtual void CropMain(int leftShift, int rightShift, int topShift, int bottomShift)Parameters
leftShift int
يتغير اليسار .
rightShift int
التغيير الصحيح
topShift int
التغيير العلوي
bottomShift int
التغيير السفلي .
Dither(DitheringMethod، int، IColorPalette)
أداء على الصورة الحالية.
public override void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)Parameters
ditheringMethod DitheringMethod
الطريقة المضغوطة .
bitsCount int
النقاط النهائية تحسب لالتقاط.
customPalette IColorPalette
أضف تعليق لـ DITERING.
Filter(الخيارات الثنائية، FilterOptionsBase)
تصفية المستطيل المحدد.
public override void Filter(Rectangle rectangle, FilterOptionsBase options)Parameters
rectangle Rectangle
من المستطيل .
options FilterOptionsBase
الخيارات .
GetPagesAsEnumerable()
احصل على الصفحات كما هي قابلة للتعديل
protected virtual IEnumerable<image/> GetPagesAsEnumerable()Returns
IEnumerable <؛ Image >
الصفحات الخاصة بك كما هو قابل للتعديل.
GetSerializedStream(ImageOptionsBase، Rectangle، out int)
تحويلها إلى APS.
public override Stream GetSerializedStream(ImageOptionsBase imageOptions, Rectangle clippingRectangle, out int pageNumber)Parameters
imageOptions ImageOptionsBase
خيارات الصورة .
clippingRectangle Rectangle
الرفع المستقيم .
pageNumber int
رقم الصفحة .
Returns
الشبكة المسلسلة
Grayscale()
تحويل الصورة إلى تمثيلها الرمادي
public override void Grayscale()NormalizeAngle(البول، اللون)
تطبيع الزاوية.هذه الطريقة تنطبق على وثائق النص المسح الضوئي للتخلص من المسح الضوئي.هذه الطريقة تستخدم أساليب Aspose.Imaging.RasterImage.GetSkewAngle و Aspose.Imaging.RasterCachedMultipageImage.Rotate(System.Single،System.Boolean،Aspose.Imaging.Color).
public override void NormalizeAngle(bool resizeProportionally, Color backgroundColor)Parameters
resizeProportionally bool
إذا قمت بتعيين “الحقيقي” ستكون حجم الصورة الخاص بك قد تغيرت وفقًا للتوقعات المستطيلة (نقاط الزاوية) في حالة أخرى تترك الأبعاد غير ملموسة ويتم توجيه محتوى الصورة الداخلي فقط.
backgroundColor Color
لون الخلفية
NormalizeHistogram()
تطبيع هيستوغرام الصورة - تعديل قيم البكسل لاستخدام جميع المساحة المتاحة.
public override void NormalizeHistogram()ReleaseManagedResources()
إطلاق الموارد التي يتم إدارتها.تأكد من عدم إطلاق الموارد التي لا يتم إدارتها هنا، لأنها قد تكونتم إطلاق سراحها بالفعل
protected override void ReleaseManagedResources()ReplaceColor(إنت، بايت، إنت)
يحل محل لون واحد لآخر مع الفرق المسموح به ويحافظ على قيمة ألفا الأصلية لتوفير الحواف الناعمة.
public override void ReplaceColor(int oldColorArgb, byte oldColorDiff, int newColorArgb)Parameters
oldColorArgb int
سيتم استبدال قيمة الألوان القديمة ARGB.
oldColorDiff byte
يسمح الفرق في اللون القديم لتكون قادرة على توسيع نغمة الألوان المستبدة.
newColorArgb int
قيمة الألوان الجديدة ARGB لتحل محل الألوان القديمة مع.
ReplaceNonTransparentColors(إنت)
يستبدل جميع الألوان غير النظيفة بألوان جديدة ويحافظ على قيمة ألفا الأصلية لتوفير الحواف الناعمة.ملاحظة: إذا كنت تستخدمها على الصور دون شفافية، سيتم استبدال جميع الألوان مع واحد واحد.
public override void ReplaceNonTransparentColors(int newColorArgb)Parameters
newColorArgb int
قيمة الألوان الجديدة ARGB لاستبدال الألوان غير الشفافة مع.
Resize(int، int، resizeType)
إعادة تدوير الصورة.
public override void Resize(int newWidth, int newHeight, ResizeType resizeType)Parameters
newWidth int
العرض الجديد .
newHeight int
الارتفاع الجديد
resizeType ResizeType
هذا النوع من التراجع.
Resize(إنت، إنت، ImageResizeSettings)
إعادة تدوير الصورة.
public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)Parameters
newWidth int
العرض الجديد .
newHeight int
الارتفاع الجديد
settings ImageResizeSettings
إعدادات إعادة التدوير
ResizeHeightProportionally(إنت، إعادة النوع)
تقليص العرض نسبياً.
public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)Parameters
newHeight int
الارتفاع الجديد
resizeType ResizeType
نوع التراجع .
ResizeMain(int، int، resizeType)
تحافظ على الصورة فقط.
protected virtual void ResizeMain(int newWidth, int newHeight, ResizeType resizeType)Parameters
newWidth int
العرض الجديد .
newHeight int
الارتفاع الجديد
resizeType ResizeType
نوع التراجع .
ResizeWidthProportionally(إنت، إعادة النوع)
تقليص العرض نسبياً.
public override void ResizeWidthProportionally(int newWidth, ResizeType resizeType)Parameters
newWidth int
العرض الجديد .
resizeType ResizeType
نوع التراجع .
Rotate(البول، البول، اللون)
Aspose.Imaging.RasterCachedMultipageImage.Rotate(System.Single،System.Boolean،Aspose.Imaging.Color) صورة حول المركز.
public override void Rotate(float angle, bool resizeProportionally, Color backgroundColor)Parameters
angle float
زاوية الدوران في درجات.القيم الإيجابية سوف تدور في اتجاه الساعة.
resizeProportionally bool
إذا قمت بتعيين “الحقيقي” ستكون حجم الصورة الخاص بك قد تغيرتعلى النحو المنحني (نقاط الزاوية) المشاهدات في الحالة الأخرى التي تترك الأبعاد غير ملموسة فقطالداخلية محتوى الصورة يتم توجيهها.
backgroundColor Color
لون الخلفية
RotateFlip(RotateFlipType)
تدور أو تدور أو تدور أو تدور جميع الصفحات.
public override void RotateFlip(RotateFlipType rotateFlipType)Parameters
rotateFlipType RotateFlipType
نوع الفليب المتحرك.
RotateFlipAll(RotateFlipType)
تحويل كل فليب.
[Obsolete("Please use RotateFlip instead of this method.")]
public virtual void RotateFlipAll(RotateFlipType rotateFlip)Parameters
rotateFlip RotateFlipType
فيديوهات متعلقة بـ “ Rotate Flip ”
RotateFlipMain(RotateFlipType)
تحويل الفليب الرئيسي.
protected virtual void RotateFlipMain(RotateFlipType rotateFlipType)Parameters
rotateFlipType RotateFlipType
نوع الفليب المتحرك.
SavePixelsInternalMain(اليمين، إنت[])
تخزين البكسل الداخلي الرئيسية.
protected virtual void SavePixelsInternalMain(Rectangle rectangle, int[] pixels)Parameters
rectangle Rectangle
من المستطيل .
pixels int
[ ]
ما هي البكسل