HTML ਕੈਂਵਸ getImageData() ਮੰਥਨ
ਵਿਆਖਿਆ ਅਤੇ ਵਰਤੋਂ
getImageData()
ਮੰਥਨ ਇਮੇਜ਼ ਡਾਟਾ ਆਬਜੈਕਟ ਨੂੰ ਵਾਪਸ ਦਿੰਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਕੈਂਵਸ ਵਿੱਚ ਚੁਣੇ ਹੋਏ ਸਕੇਲ ਦੇ ਪਿਕਸਲ ਡਾਟਾ ਕਾਪੀ ਕੀਤਾ ਗਿਆ ਹੈ。
ਇਮੇਜ਼ ਡਾਟਾ ਆਬਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਪਿਕਸਲ ਲਈ ਚਾਰ ਪ੍ਰਕਾਰ ਦੀਆਂ ਸੂਚਨਾਵਾਂ ਮੌਜੂਦ ਹੁੰਦੀਆਂ ਹਨ, ਜਿਵੇਂ ਕਿ RGBA ਮੁੱਲ:
- R - ਲਾਲ (0-255)
- G - ਹਰੀ (0-255)
- B - ਨੀਲਾ (0-255)
- A - alpha ਚੈਨਲ (0-255; 0 ਪਾਰਦਰਸ਼ੀ ਹੈ, 255 ਪੂਰੀ ਤਰ੍ਹਾਂ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ)
color/alpha ਨੂੰ ਅਰਰੇ ਫਾਰਮ ਵਿੱਚ ਮੌਜੂਦ ਹੈ ਅਤੇ ਇਮੇਜ਼ ਡਾਟਾ ਆਬਜੈਕਟ ਵਿੱਚ ਸਟੋਰ ਕੀਤਾ ਗਿਆ ਹੈ: data ਵਿਸ਼ੇਸ਼ਤਾ
ਸੁਝਾਅ:ਜਦੋਂ ਤੁਸੀਂ ਅਰਰੇ ਵਿੱਚ ਦੇਸ਼ ਦੇ color/alpha ਸੂਚਨਾ ਦੇ ਕੰਮ ਕਰਨ ਤੋਂ ਬਾਅਦ ਤੁਸੀਂ ਇਸ ਵਿਸ਼ੇਸ਼ਤਾ ਵਿੱਚ ਇਸਤੇਮਾਲ ਕਰ ਸਕਦੇ ਹੋ: putImageData() ਮੰਥਨ ਨਾਲ ਇਮੇਜ਼ ਡਾਟਾ ਨੂੰ ਕੈਂਵਸ ਉੱਤੇ ਕਾਪੀ ਕਰਨਾ。
ਉਦਾਹਰਣ:
ਨਿਮਨ ਕੋਡ ਵਾਲੇ ਇਮੇਜ਼ ਡਾਟਾ ਆਬਜੈਕਟ ਵਿੱਚ ਪਹਿਲੇ ਪਿਕਸਲ ਦੇ ਕਲਰ/ਆਲਫਾ ਸੂਚਨਾ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ:
red=imgData.data[0]; green=imgData.data[1]; blue=imgData.data[2]; alpha=imgData.data[3];
ਸੁਝਾਅ:ਤੁਸੀਂ ਵੀ getImageData() ਮੱਥਦਾਰ ਵਰਤ ਸਕਦੇ ਹੋ ਕੇ ਕੈਂਵਸ 'ਤੇ ਕਿਸੇ ਚਿੱਤਰ ਦੇ ਹਰੇਕ ਪਿਕਸਲ ਦੇ ਰੰਗ ਨੂੰ ਉਚਿਤ ਕਰ ਸਕਦੇ ਹੋ。
ਸਾਰੇ ਪਿਕਸਲਾਂ ਦੇ ਰੰਗ ਮੁੱਲ ਦੇ ਪਿੱਛੇ ਲੰਬਾਈ ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਕਰਨ ਲਈ ਇਹ ਫਾਰਮੂਲਾ ਵਰਤੋਂ ਕਰੋ:
red=255-old_red; green=255-old_green; blue=255-old_blue;
(ਹੇਠ ਲਿਖੇ "ਆਪਣੇ ਅਨੁਭਵ ਕਰੋ" ਮਾਮਲੇ ਵੇਖੋ。)
ਮਾਮਲਾ
ਉਦਾਹਰਣ 1
ਹੇਠ ਲਿਖੇ ਕੋਡ ਦੁਆਰਾ getImageData() ਰਾਹੀਂ ਕੈਂਵਸ ਉੱਤੇ ਨਿਰਧਾਰਿਤ ਚੌਕਟੀ ਖੇਤਰ ਦੇ ਪਿਕਸਲ ਡਾਟਾ ਨੂੰ ਨਕਲ ਕਰਦੇ ਹਨ ਅਤੇ ਫਿਰ ਉਹ ਕੈਂਵਸ 'ਤੇ ਪਾਲਣ ਕਰਦੇ ਹਨ:
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); }
ਸੁਝਾਅ:ਪੰਨੇ ਦੇ ਨਿਚੋਰ ਵਿੱਚ ਹੋਰ ਉਦਾਹਰਣ ਪ੍ਰਦਾਨ ਕੀਤੇ ਗਏ ਹਨ。
ਗਰੰਥ
var imgData=context.getImageData(x,y,width,height);
ਪੈਰਾਮੀਟਰ ਮੁੱਲ
ਪੈਰਾਮੀਟਰ | ਵਰਣਨ |
---|---|
x | ਨਕਲ ਕਰਨ ਵਾਲੇ ਖੇਤਰ ਦੇ ਉੱਚੇ ਪਿੱਛੇ ਸਥਾਨ ਦੇ x ਨਿਰਦੇਸ਼ਾਂਕ。 |
y | ਨਕਲ ਕਰਨ ਵਾਲੇ ਖੇਤਰ ਦੇ ਉੱਚੇ ਪਿੱਛੇ ਸਥਾਨ ਦੀ y ਨਿਰਦੇਸ਼ਾਂਕ。 |
width | ਨਕਲ ਕੀਤੇ ਜਾਣ ਵਾਲੇ ਚੌਕਟੀ ਖੇਤਰ ਦੀ ਚੌੜਾਈ。 |
height | ਨਕਲ ਕੀਤੇ ਜਾਣ ਵਾਲੇ ਚੌਕਟੀ ਖੇਤਰ ਦੀ ਉਚਾਈ。 |
ਹੋਰ ਉਦਾਹਰਣ
ਉਦਾਹਰਣ 2
ਵਰਤਣ ਵਾਲਾ ਚਿੱਤਰ:

ਕੈਂਵਸ ਉੱਤੇ ਚਿੱਤਰ ਦੇ ਹਰੇਕ ਪਿਕਸਲ ਦੇ ਰੰਗ ਨੂੰ ਉਚਿਤ ਕਰਨ ਲਈ getImageData() ਵਰਤੋਂ ਕਰੋ。
JavaScript:
var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); var img=document.getElementById("tulip"); ctx.drawImage(img,0,0); var imgData=ctx.getImageData(0,0,c.width,c.height); // ਰੰਗ ਵਿਰੁੱਧ 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);
ਬਰਾਉਜ਼ਰ ਸਮਰਥਨ
ਸਾਰੇ ਨੰਬਰ ਵਿੱਚ ਪਹਿਲੀ ਸਰਕਾਰ ਨੂੰ ਨਿਸ਼ਚਿਤ ਕੀਤਾ ਗਿਆ ਹੈ ਜਿਸ ਨੇ ਇਸ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਸਮਰਥਨ ਕੀਤਾ ਹੈ。
ਚਰਾਮ | ਐਜ਼ | ਫਾਇਰਫਾਕਸ | ਸੈਫਾਰੀ | ਓਪਰਾ |
---|---|---|---|---|
ਚਰਾਮ | ਐਜ਼ | ਫਾਇਰਫਾਕਸ | ਸੈਫਾਰੀ | ਓਪਰਾ |
4.0 | 9.0 | 3.6 | 4.0 | 10.1 |
ਟਿੱਪਣੀਆਂ:Internet Explorer 8 ਅਤੇ ਇਸ ਤੋਂ ਪਹਿਲਾਂ ਦੀਆਂ ਸਰਕਾਰਾਂ <canvas> ਐਲੀਮੈਂਟ ਨੂੰ ਸਮਰਥਨ ਨਹੀਂ ਦਿੰਦੀਆਂ ਹਨ。