GetArgb32Pixel
RasterImage.GetArgb32Pixel method
الحصول على صورة ARGB بكسل 32 بت .
public int GetArgb32Pixel(int x, int y)
معامل | يكتب | وصف |
---|---|---|
x | Int32 | موقع البكسل x. |
y | Int32 | موقع البكسل ص. |
قيمة الإرجاع
32 بت ARGB بكسل للموقع المحدد.
أمثلة
يقوم المثال التالي بتحميل صورة نقطية ويحصل على لون بكسل عشوائي يتم تمثيله كقيمة عدد صحيح 32 بت.
[C#]
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (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.Console.WriteLine("The color of the pixel(0,0) is A={0},R={1},G={2},B={3}", alpha, red, green, blue);
}
يوضح المثال التالي كيف يؤثر التخزين المؤقت للصور على الأداء. بشكل عام ، يتم تنفيذ قراءة البيانات المخزنة مؤقتًا بشكل أسرع من قراءة البيانات غير المخزنة مؤقتًا.
[C#]
string dir = "c:\\temp\\";
// تحميل صورة من ملف PNG.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
// تخزين جميع بيانات البكسل مؤقتًا بحيث لا يتم إجراء تحميل بيانات إضافي من دفق البيانات الأساسي
image.CacheData();
System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
stopwatch.Start();
// قراءة جميع وحدات البكسل سريعة جدًا.
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
for (int y = 0; y < image.Height; y++)
{
for (int x = 0; x < image.Width; x++)
{
int color = rasterImage.GetArgb32Pixel(x, y);
}
}
stopwatch.Stop();
System.Console.WriteLine("Reading all cached pixels took {0} ms.", stopwatch.ElapsedMilliseconds);
}
// تحميل صورة من ملف PNG
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
stopwatch.Start();
// قراءة جميع وحدات البكسل ليست بالسرعة التي يتم بها التخزين المؤقت
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
for (int y = 0; y < image.Height; y++)
{
for (int x = 0; x < image.Width; x++)
{
int color = rasterImage.GetArgb32Pixel(x, y);
}
}
stopwatch.Stop();
System.Console.WriteLine("Reading all pixels without preliminary caching took {0} ms.", stopwatch.ElapsedMilliseconds);
}
// قد يبدو الإخراج كالتالي:
// استغرقت قراءة جميع وحدات البكسل المخزنة مؤقتًا 1500 مللي ثانية.
// استغرقت قراءة جميع وحدات البكسل بدون التخزين المؤقت الأولي 150000 مللي ثانية.
أنظر أيضا
- class RasterImage
- مساحة الاسم Aspose.Imaging
- المجسم Aspose.Imaging