HTML5 canvas createImageData() ·½·¨

ʵÀý

´´½¨ 100*100 ÏñËØµÄ ImageData ¶ÔÏ󣬯äÖÐÿ¸öÏñËØ¶¼ÊǺìÉ«µÄ£¬È»ºó°ÑËü·Åµ½»­²¼ÉÏ£º

Your browser does not support the HTML5 canvas tag.

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 ¶ÔÏó¡£
VUE