কম্পিউটার

আমি কিভাবে একটি HTML5 ক্যানভাস উপাদানে একটি সাধারণ onClick ইভেন্ট হ্যান্ডলার যোগ করব?


ক্যানভাস এলিমেন্টে যে উপাদানগুলো আঁকা হয় সেগুলোর কোনো উপস্থাপনা নেই। তাদের একমাত্র উপস্থাপনা হল তারা যে পিক্সেলগুলি ব্যবহার করে এবং তাদের রঙ। একটি ক্যানভাস উপাদান আঁকা মানে তাত্ক্ষণিক মোডে একটি বিটম্যাপ আঁকা। একটি ক্যানভাস উপাদান (আকৃতি) এ একটি ক্লিক ইভেন্ট পেতে, আপনাকে ক্যানভাস HTML উপাদানে ক্লিক ইভেন্টগুলি ক্যাপচার করতে হবে এবং কোন উপাদানটি ক্লিক করা হয়েছে তা নির্ধারণ করতে হবে। এর জন্য উপাদানটির প্রস্থ এবং উচ্চতা সংরক্ষণ করা প্রয়োজন।

আপনার ক্যানভাস উপাদানে একটি ক্লিক ইভেন্ট যোগ করতে, নীচের প্রদত্ত কোড ব্যবহার করুন

canvas.addEventListener('click', function() { }, false);

উদাহরণ

কোন উপাদানে ক্লিক করা হয়েছে তা নির্ধারণ করতে, নিম্নলিখিত কোড স্নিপেটটি ব্যবহার করুন −

var e = document.getElementById('myCanvas'),
   elemLeft = e.offsetLeft,
   elemTop = e.offsetTop,
   context = e.getContext('2d'),
   elements = [];

// event listener for click event
e.addEventListener('click', function(event) {
   var xVal = event.pageX - elemLeft,
   yVal = event.pageY - elemTop;
   console.log(xVal, yVal);
   elements.forEach(function(ele) {
      if (yVal > ele.top && yVal < ele.top + ele.height && xVal > ele.left && xVal < ele.left + ele.width) {
         alert(‘element clicked');
      }
   });
}, false);
elements.push({
   colour: '#1C2128’,
   width: 250,
   height: 200,
   top: 30,
   left: 20
});
elements.forEach(function(ele) {
   context.fillStyle = element.colour;
   context.fillRect(ele.left, ele.top, ele.width, ele.height);
});

  1. কিভাবে একটি HTML5 ক্যানভাসে একটি SVG ফাইল আঁকতে হয়?

  2. ক্যানভাস HTML5 ব্যবহার করে কিভাবে একটি তারকা আঁকা?

  3. কিভাবে HTML5 ক্যানভাস দিয়ে ছবি ব্যবহার করবেন?

  4. কিভাবে HTML এ উপাদানের মান যোগ করবেন?