أحدث البرامج التعليمية وتطوير الشبكة
 

HTML canvas getImageData() Method

<كائن قماش

مثال

رمز أدناه نسخ البيانات بيكسل للمستطيل المحددة على قماش مع getImageData() ، ومن ثم وضع بيانات الصورة مرة أخرى على قماش مع putImageData() :

var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.fillStyle="red";
ctx.fillRect(10,10,50,50);

function copy()
{
var imgData=ctx.getImageData(10,10,50,50);
ctx.putImageData(imgData,10,70);
}
انها محاولة لنفسك »

دعم المتصفح

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

طريقة
getImageData() 4.0 تسعة 3.6 4.0 10.1

تعريف والاستخدام

و getImageData() الأسلوب بإرجاع كائن ImageData أن ينسخ البيانات بيكسل للالمستطيل المحدد على قماش.

Note: الكائن ImageData ليس صورة، وهي تحدد جزء (rectangle) على قماش، ويحمل المعلومات من كل بكسل داخل هذا المستطيل.

لكل بكسل في كائن ImageData هناك أربع قطع من المعلومات والقيم RGBA:

R - اللون الأحمر (from 0-255)
G - اللون الأخضر (from 0-255)
B - اللون الأزرق (from 0-255)
أ - قناة ألفا (from 0-255; 0 is transparent and 255 is fully visible)

ويعقد معلومات اللون / ألفا في صفيف، وتخزينها في البيانات خاصية الكائن ImageData.

Tip: بعد أن كنت قد تلاعبت معلومات اللون / ألفا في مجموعة، يمكنك نسخ بيانات الصورة مرة أخرى على قماش مع putImageData() الأسلوب.

Example:

رمز للحصول على معلومات اللون / ألفا من بكسل الأول في الكائن ImageData عاد:

red=imgData.data[0];
green=imgData.data[1];
blue=imgData.data[2];
alpha=imgData.data[3];

انها محاولة لنفسك

Tip: يمكنك أيضا استخدام getImageData() طريقة لعكس لون كل بكسل من الصورة على قماش.

حلقة خلال كل بكسل وتغيير قيم اللون باستخدام هذه الصيغة:

red=255-old_red;
green=255-old_green;
blue=255-old_blue;

انظر أدناه للحصول على "Try it Yourself" مثلا!


جافا سكريبت بناء الجملة

جافا سكريبت بناء الجملة: context . getImageData( x,y,width,height ) .

قيم معلمة

معامل وصف
x س تنسيق (in pixels) من الزاوية العلوية اليسرى لبدء نسخة من
y ذ تنسيق (in pixels) من الزاوية العلوية اليسرى لبدء نسخة من
width العرض من مساحة مستطيلة الشكل سوف نسخ
height ذروة مستطيلة المنطقة التي إرادة نسخة

أمثلة

مزيد من الأمثلة

صورة لاستخدام:

الصرخة

مثال

استخدام getImageData() لعكس لون كل بكسل من الصورة على قماش:

YourbrowserdoesnotsupporttheHTML5canvastag.

جافا سكريبت:

var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var img=document.getElementById("scream");
ctx.drawImage(img,0,0);
var imgData=ctx.getImageData(0,0,c.width,c.height);
// invert colors
for (var i=0;i<imgData.data.length;i+=4)
  {
  imgData.data[i]=255-imgData.data[i];
  imgData.data[i+1]=255-imgData.data[i+1];
  imgData.data[i+2]=255-imgData.data[i+2];
  imgData.data[i+3]=255;
  }
ctx.putImageData(imgData,0,0);
انها محاولة لنفسك »

<كائن قماش