Canvas getImageData() পদ্ধতি
পরিভাষা ও ব্যবহার
getImageData()
পদ্ধতি ImageData অবজেক্ট ফিরিয়ে দেয়, যা কার্টের নির্দিষ্ট ক্ষেত্রের পিক্সেল ডাটা কপি করে:
ImageData অবজেক্টের প্রত্যেক পিক্সেলে, RGBA মান দুটি রয়েছে:
- R - লাল (0-255)
- G - সবুজ (0-255)
- B - নীল (0-255)
- A - alpha চ্যানেল (0-255; 0 হল স্বচ্ছ, 255 হল সম্পূর্ণ দৃশ্যমান)
color/alpha আকারের আইন্দ্রণে রয়েছে এবং ImageData অবজেক্টের data প্রতিভূতির মধ্যে।
সুঝানা:color/alpha তথ্যকে কাজ করার পরে, আপনি ব্যবহার করতে পারেন: putImageData() পদ্ধতি চিত্র ডাটা কার্ট তে কপি করে:
উদাহরণ:
নিচের কোডটি রয়েছে যা ImageData অবজেক্টের প্রথম পিক্সেলের color/alpha তথ্য পাওয়ার জন্য:
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() এবং putImageData() মাধ্যমে ক্যানভাসের নির্দিষ্ট চতুর্ভুজক্ষেত্রের পিক্সেল ডাটা কপি করা হয় এবং পরে তা ক্যানভাসে ফিরিয়ে দেওয়া হয়:
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> ইলেকট্রনিক নাটা সমর্থন করে না。