HTML5 canvas createImageData() ·½·¨
ʵÀý
´´½¨ 100*100 ÏñËØµÄ ImageData ¶ÔÏ󣬯äÖÐÿ¸öÏñËØ¶¼ÊǺìÉ«µÄ£¬È»ºó°ÑËü·Åµ½»²¼ÉÏ£º
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);
ä¯ÀÀÆ÷Ö§³Ö
Internet Explorer 9¡¢Firefox¡¢Opera¡¢Chrome ÒÔ¼° Safari Ö§³Ö createImageData() ·½·¨¡£
×¢ÊÍ£ºInternet Explorer 8 »ò¸üÔçµÄä¯ÀÀÆ÷²»Ö§³Ö <canvas> ÔªËØ¡£
¶¨ÒåºÍÓ÷¨
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() ·½·¨½«Í¼ÏñÊý¾Ý¿½±´»Ø»²¼ÉÏ¡£
Àý×Ó£º
¸ÃÓï·¨°Ñ 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;
JavaScript Óï·¨
ÓÐÁ½¸ö°æ±¾µÄ createImageData() ·½·¨£º
1. ÒÔÖ¸¶¨µÄ³ß´ç£¨ÒÔÏñËØ¼Æ£©´´½¨Ð嵀 ImageData ¶ÔÏó£º
var imgData=context.createImageData(width,height);
2. ´´½¨ÓëÖ¸¶¨µÄÁíÒ»¸ö ImageData ¶ÔÏó³ß´çÏàͬµÄРImageData ¶ÔÏ󣨲»»á¸´ÖÆÍ¼ÏñÊý¾Ý£©£º
var imgData=context.createImageData(imageData);
²ÎÊýÖµ
²ÎÊý | ÃèÊö |
---|---|
width | ImageData ¶ÔÏóµÄ¿í¶È£¬ÒÔÏñËØ¼Æ¡£ |
height | ImageData ¶ÔÏóµÄ¸ß¶È£¬ÒÔÏñËØ¼Æ¡£ |
imageData | ÁíÒ»¸ö ImageData ¶ÔÏó¡£ |