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

HTML canvas createImageData() Method

<HTML قماش المرجعي

مثال

إنشاء 100*100 كائن ImageData بكسل حيث كل بكسل الأحمر، ووضعها على قماش:

YourbrowserdoesnotsupporttheHTML5canvastag.

جافا سكريبت:

var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var imgData=ctx.createImageData(100,100);
for (var i=0;i<imgData.data.length;i+=4)
  {
  imgData.data[i+0]=255;
  imgData.data[i+1]=0;
  imgData.data[i+2]=0;
  imgData.data[i+3]=255;
  }
ctx.putImageData(imgData,10,10);
انها محاولة لنفسك »

دعم المتصفح

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

طريقة
createImageData() نعم فعلا تسعة نعم فعلا نعم فعلا نعم فعلا


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

و createImageData() طريقة يخلق، وجوه ImageData فارغ جديد. قيم بكسل الكائن الجديد باللون الأسود الشفاف افتراضيا.

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

R - اللون الأحمر (0-255)
G - اللون الأخضر (0-255)
B - اللون الأزرق (0-255)
A - قناة ألفا (0-255، 0 شفافة و 255 مرئيا بالكامل)

لذلك، يشير أسود شفاف: (0,0,0,0) .

ويعقد معلومات اللون / ألفا في صفيف، ومنذ مجموعة تحتوي على 4 قطع من المعلومات عن كل بكسل، حجم المصفوفة هو 4 أضعاف حجم الكائن ImageData: العرض * الارتفاع * 4. (أسهل طريقة للعثور على حجم المصفوفة، هو استخدام ImageDataObject.data.length)

يتم تخزين مجموعة يحتوي على معلومات اللون / ألفا في data خاصية الكائن ImageData.

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

الأمثلة على ذلك:

بناء الجملة من أجل جعل بكسل الأول في ImageData يعترض الأحمر:

imgData=ctx.createImageData(100,100);

imgData.data[0]=255;
imgData.data[1]=0;
imgData.data[2]=0;
imgData.data[3]=255;

بناء الجملة من أجل جعل بكسل الثاني في المنطقة الخضراء الكائن ImageData:

imgData=ctx.createImageData(100,100);

imgData.data[4]=0;
imgData.data[5]=255;
imgData.data[6]=0;
imgData.data[7]=255;

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

هناك إصداران من createImageData() الأسلوب:

1. هذا يخلق كائن ImageData جديد مع الأبعاد المحددة (بالبكسل):

جافا سكريبت بناء الجملة: var imgData=context.createImageData(width,height);

2. وهذا يخلق كائن ImageData جديد مع نفس الأبعاد ككائن المحدد من قبل anotherImageData (وهذا لا نسخ بيانات الصورة):

JavaScript syntax: var imgData=context.createImageData(imageData);

قيم معلمة

معامل وصف
width عرض الكائن ImageData الجديد، بالبكسل
height ارتفاع الكائن ImageData الجديد، بالبكسل
imageData كائن anotherImageData

<HTML قماش المرجعي