Canvas createImageData() 方法
定义和用法
createImageData()
方法创建新的空白 ImageData 对象。新对象的默认像素值 transparent black。
对于 ImageData 对象中的每个像素,都存在着四方面的信息,即 RGBA 值:
- R - 红色 (0-255)
- G - 绿色 (0-255)
- B - 蓝色 (0-255)
- A - alpha 通道 (0-255; 0 是透明的,255 是完全可见的)
因此 ,transparent black 表示 (0,0,0,0)。
color/alpha 以数组形式存在,并且既然数组包含了每个像素的四条信息,数组的大小是 ImageData 对象的四倍。(获得数组大小有更简单的办法,就是使用 ImageDataObject.data.length)
包含 color/alpha 信息的数组存储于 ImageData 对象的 data 属性中。
提示:在操作完成数组中的 color/alpha 信息之后,您可以使用 putImageData() ဓာတ်ကူးကို ပုံပြင်ပေါ်သို့ ကူးယူပြီး ပြသပါသည် စနစ်ကို သုံးပြီ
အကျိုးသုံး
ထိုပုံစံ သည် အင်တီဂရိတ်ဒေါ်လုပ်ရေး အာမခံအားကွယ်အက်စ် ပုံမှားနှင့် တစ်ပုံမှ ပြီးပြောင်းမှုကို ခြည်ပြီ
imgData=ctx.createImageData(100,100); imgData.data[0]=255; imgData.data[1]=0; imgData.data[2]=0; imgData.data[3]=255;
ထိုပုံစံ သည် အင်တီဂရိတ်ဒေါ်လုပ်ရေး အာမခံအားကွယ်အက်စ် ပုံမှားနှင့် နှစ်ပါးမှ ဒုတိယပုံမှား ကို ခြည်ပြီ
imgData=ctx.createImageData(100,100); imgData.data[4]=0; imgData.data[5]=255; imgData.data[6]=0; imgData.data[7]=255;
အမှတ်ပြု
အမှတ်ပြုထားသော 100*100 ပေါ်ပြောင်းလဲမှု ပမာဏ ဖြင့် အင်တီဂရိတ်ဒေါ်လုပ်ရေး အာမခံအားကွယ်အက်စ် အချက်အလက် တစ်ခု ဖွဲ့စည်းပြီ၊ ပြီးတော့ ပုံပြင်ပေါ်သို့ ပြောင်းလဲမှုကို ပြသပါ
JavaScript:
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() စနစ် အပေါ် အခြား အစိုးရပ် တစ်ခု ရှိသည်
1. ပေါ်ပြောင်းလဲမှု ပမာဏ (ပါဝင်နေသည်) အမှတ်ပြုထားသော အင်တီဂရိတ်ဒေါ်လုပ်ရေး အာမခံအားကွယ်အက်စ် အချက်အလက် တစ်ခု ဖွဲ့စည်းပြီ
var imgData=context.createImageData(အရွယ်,အထူးအား);
2. အမှတ်ပြုထားသော အင်တီဂရိတ်ဒေါ်လုပ်ရေး အာမခံအားကွယ်အက်စ် အရွယ်အားနှင့် ညီသော အခြား အင်တီဂရိတ်ဒေါ်လုပ်ရေး အာမခံအားကွယ်အက်စ် အချက်အလက် တစ်ခု ဖွဲ့စည်းပြီ (ယခု ပုံအချက်အလက် ကို ကူးယူခြင်း မပြုပါ)
var imgData=context.createImageData(အင်တီဂရိတ်ဒေါ်လုပ်ရေး);
ပါဝင်နေသည် ပြဿဒ္ဒါ
ပါဝင်နေသည် | ဖော်ပြ |
---|---|
အရွယ် | အင်တီဂရိတ်ဒေါ်လုပ်ရေး အာမခံအားကွယ်အက်စ် အရွယ်အား ပေါ်ပြောင်းလဲမှုတွင် ပမာဏ၊ ပါဝင်နေသည် |
အထူးအား | အင်တီဂရိတ်ဒေါ်လုပ်ရေး အာမခံအားကွယ်အက်စ် အထူးအား ပေါ်ပြောင်းလဲမှုတွင် ပမာဏ၊ ပါဝင်နေသေးသည် |
အင်တီဂရိတ်ဒေါ်လုပ်ရေး | တဖက်က အင်တီဂရိတ်ဒေါ်လုပ်ရေး အာမခံအားကွယ်အက်စ် ပုံမှားနှင့် |
ဘူးတီးယား ကုန်းလုံး အထောက်အထား
အချက်အလက်များ တွင် အားကစားအရာကို ပထမဆုံး အထောက်အထားပြုသော ဘူးတီးယား ကုန်းလုံး ကုဒ္ဒိယ အချက်အလက် ပါဝင်သည်။
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome | Edge | Firefox | Safari | Opera |
4.0 | 9.0 | 3.6 | 4.0 | 10.1 |
အကြောင်းအရာInternet Explorer 8 နှင့် ပိုမိုကြီးသော အက်ဘ်အက်စ် အခြေခံအုံးစ် မှ <canvas> အားကစားအရာ ကို လုပ်ခဲ့သည်။