"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية الوصول إلى بيانات البكسل ومعالجتها في HTML Canvas؟

كيفية الوصول إلى بيانات البكسل ومعالجتها في HTML Canvas؟

تم النشر بتاريخ 2024-11-09
تصفح:480

How to Access and Manipulate Pixel Data in HTML Canvas?

الوصول إلى بيانات البكسل في HTML Canvas

هل من الممكن استرداد لون بكسل معين داخل كائن HTML Canvas؟ نعم، يمكنك الوصول إلى بيانات البكسل ومعالجتها في HTML Canvas باستخدام طرق مختلفة توفرها Canvas API.

الحصول على لون البكسل

لاسترداد لون البكسل في موقع محدد داخل اللوحة القماشية، يمكنك استخدام طريقة getImageData(). تقوم هذه الطريقة بإرجاع كائن ImageData الذي يمثل جزءًا من اللوحة القماشية. يحتوي كائن ImageData على مجموعة من بيانات البكسل التي يمكنك الوصول إليها باستخدام خاصية .data.

معالجة البكسل

بمجرد حصولك على بيانات البكسل، يمكنك معالجتها عليه حسب الرغبة. على سبيل المثال، يمكنك إنشاء صورة بتدرج رمادي عن طريق تحويل كل بكسل إلى ظل رمادي:

// Get the CanvasPixelArray from the given coordinates and dimensions.
var imgd = context.getImageData(x, y, width, height);
var pix = imgd.data;

// Loop over each pixel and convert it to grayscale.
for (var i = 0, n = pix.length; i < n; i  = 4) {
  var gray = (pix[i]   pix[i 1]   pix[i 2]) / 3;
  pix[i  ] = gray;
  pix[i 1] = gray;
  pix[i 2] = gray;
}

// Draw the ImageData at the given (x,y) coordinates.
context.putImageData(imgd, x, y);

من خلال الاستفادة من أساليب getImageData() وputImageData()، يمكنك تنفيذ مهام معالجة البكسل المختلفة، مثل تصفية الصور، وتعديلات الألوان، وإنشاء تأثيرات على HTML قماش.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3