HTML Canvas Reference
<canvas> উপাদানটি একটি HTML পৃষ্ঠায় একটি বিটম্যাপ এলাকা নির্ধারণ করে।
ক্যানভাস এপিআই জাভাস্ক্রিপ্টকে ক্যানভাসে গ্রাফিক্স আঁকার অনুমতি দেয়।
ক্যানভাস এপিআই রঙ, ঘূর্ণন, স্বচ্ছতা এবং অন্যান্য পিক্সেল ম্যানিপুলেশন সহ আকার, রেখা, বক্ররেখা, বাক্স, পাঠ্য এবং চিত্র আঁকতে পারে।
আপনি <canvas> ট্যাগ সহ একটি HTML পৃষ্ঠার যেকোনো জায়গায় একটি ক্যানভাস উপাদান যোগ করতে পারেন:
উদাহরণ
<canvas id="myCanvas" width="300" height="150"></canvas>
আপনি HTML DOM পদ্ধতি getElementById() দিয়ে একটি <canvas> উপাদান অ্যাক্সেস করতে পারেন।
ক্যানভাসে আঁকার জন্য, আপনাকে একটি 2D পরিবেশ বস্তু তৈরি করতে হবে:
const myCanvas = document.getElementById("myCanvas");
const ctx = myCanvas.getContext("2d");
দ্রষ্টব্য
HTML <canvas> উপাদানটির স্বয়ংক্রিয় অঙ্কন ক্ষমতা নেই।
যেকোনো গ্রাফিক্স আঁকার জন্য অবশ্যই জাভাস্ক্রিপ্ট ব্যবহার করতে হবে।
getContext() পদ্ধতি অঙ্কন সরঞ্জাম (পদ্ধতি) সহ একটি বস্তু ফেরত দেয়।
Drawing on the Canvas
আপনি একটি 2D পরিবেশ তৈরি করার পরে, আপনি ক্যানভাসে আঁকতে পারেন।
fillRect() পদ্ধতিটি 20,20 অবস্থানে উপরের-বাম কোণে একটি কালো আয়তক্ষেত্র আঁকে। আয়তক্ষেত্রটি 150 পিক্সেল চওড়া এবং 100 পিক্সেল উচ্চ।
উদাহরণ
const myCanvas = document.getElementById("myCanvas");
const ctx = myCanvas.getContext("2d");
ctx.fillRect(20, 20, 150, 100);
Using Colors
fillStyle বৈশিষ্ট্য অঙ্কন বস্তুর পূরণ রং সেট করে:
উদাহরণ
const myCanvas = document.getElementById("myCanvas");
const ctx = myCanvas.getContext("2d");
ctx.fillStyle = "red";
ctx.fillRect(20, 20, 150, 100);
আপনি document.createElement() পদ্ধতির সাহায্যে একটি নতুন <canvas> উপাদান তৈরি করতে পারেন এবং একটি বিদ্যমান HTML পৃষ্ঠায় উপাদানটি যোগ করতে পারেন:
উদাহরণ
const myCanvas = document.createElement("canvas");
document.body.appendChild(myCanvas);
const ctx = myCanvas.getContext("2d");
ctx.fillStyle = "red";
ctx.fillRect(20, 20, 150, 100);
Paths
ক্যানভাসে আঁকার একটি সাধারণ উপায় হল:
শুরুর পথ - beginPath()
একটি বিন্দুতে যান - moveTo()
পথে আঁকা - লাইন টু()
পথ আঁকুন - স্ট্রোক()
উদাহরণ
const canvas = document.getElementById("myCanvas");
const ctx = canvas.getContext("2d");
ctx.beginPath();
ctx.moveTo(20, 20);
ctx.lineTo(20, 100);
ctx.lineTo(70, 100);
ctx.stroke();
Complete Canvas API Reference
এই রেফারেন্সটি ক্যানভাসে টেক্সট, লাইন, বাক্স, বৃত্ত, ছবি ইত্যাদি আঁকতে ব্যবহৃত getContext("2d") অবজেক্টের সমস্ত বৈশিষ্ট্য এবং পদ্ধতি কভার করে।
Drawing Methods
ক্যানভাসে সরাসরি আঁকার জন্য শুধুমাত্র 3টি পদ্ধতি রয়েছে:
| পদ্ধতি | ব্যাখ্যা |
|---|---|
| fillRect() | একটি "ভরা" আয়তক্ষেত্র আঁকে |
| strokeRect() | একটি আয়তক্ষেত্র আঁকে (প্যাডিং ছাড়া) |
| clearRect() | একটি আয়তক্ষেত্রের মধ্যে নির্দিষ্ট পিক্সেল মুছে দেয় |
Path Methods
| পদ্ধতি | ব্যাখ্যা |
|---|---|
| beginPath() | একটি নতুন রুট শুরু করে বা বর্তমান রুট রিসেট করে |
| closePath() | বর্তমান বিন্দু থেকে শুরুতে পাথে একটি লাইন যোগ করে |
| isPointInPath() | যদি নির্দিষ্ট বিন্দু বর্তমান পাথে থাকে তাহলে সত্য ফেরত দেয় |
| moveTo() | পথটিকে ক্যানভাসের একটি বিন্দুতে নিয়ে যায় (অঙ্কন ছাড়াই)। |
| lineTo() | পথে একটি লাইন যোগ করে |
| fill() | বর্তমান পথ পূরণ করে |
| rect() | পথে একটি আয়তক্ষেত্র যোগ করে |
| stroke() | বর্তমান পথ আঁকে |
Circles and Curves
| পদ্ধতি | ব্যাখ্যা |
|---|---|
| bezierCurveTo() | পাথে একটি কিউবিক বেজিয়ার বক্ররেখা যোগ করে |
| arc() | পথে একটি চাপ/বক্ররেখা যোগ করে (বৃত্ত, বা একটি বৃত্তের অংশ) |
| arcTo() | দুটি স্পর্শকের মধ্যবর্তী পথে একটি চাপ/বক্ররেখা যোগ করে |
| quadraticCurveTo() | পথে একটি চতুর্মুখী বেজিয়ার বক্ররেখা যোগ করে |
Text
| পদ্ধতি/বৈশিষ্ট্য | ব্যাখ্যা |
|---|---|
| direction | টেক্সট আঁকতে ব্যবহৃত দিক সেট বা ফেরত দেয় |
| fillText() | ক্যানভাসে "ভরা" পাঠ্য আঁকে |
| font | টেক্সট বিষয়বস্তুর জন্য ফন্ট বৈশিষ্ট্য সেট বা প্রদান করে |
| measureText() | নির্দিষ্ট টেক্সট প্রস্থ ধারণকারী একটি বস্তু প্রদান করে |
| strokeText() | ক্যানভাসে পাঠ্য আঁকে |
| textAlign | টেক্সট বিষয়বস্তুর জন্য প্রান্তিককরণ সেট করে বা ফেরত দেয় |
| textBaseline | টেক্সট আঁকার সময় ব্যবহৃত টেক্সট বেসলাইন সেট বা প্রদান করে |
Colors, Styles, and Shadows
| পদ্ধতি/বৈশিষ্ট্য | ব্যাখ্যা |
|---|---|
| addColorStop() | কালার অবজেক্টে রং এবং স্টপ পজিশন নির্দিষ্ট করে |
| createLinearGradient() | একটি লিনিয়ার গ্রেডিয়েন্ট তৈরি করে (ক্যানভাস সামগ্রীতে ব্যবহারের জন্য) |
| createPattern() | নির্দিষ্ট দিক নির্দেশিত উপাদান পুনরাবৃত্তি |
| createRadialGradient() | একটি খিলান/বৃত্ত ছায়া তৈরি করে (ক্যানভাস সামগ্রীতে ব্যবহারের জন্য) |
| fillStyle | অঙ্কন পূরণ করতে ব্যবহৃত রঙ, আভা বা প্যাটার্ন সেট বা প্রদান করে |
| lineCap | একটি লাইনের জন্য শেষ বিন্দুর শৈলী সেট বা প্রদান করে |
| lineJoin | দুটি লাইন মিলিত হলে তৈরি করা কোণার ধরন সেট বা প্রদান করে |
| lineWidth | বর্তমান লাইনের প্রস্থ সেট করে বা রিটার্ন করে |
| miterLimit | সর্বোচ্চ মিটার দৈর্ঘ্য সেট বা প্রদান করে |
| shadowBlur | ছায়াগুলির জন্য অস্বচ্ছতা স্তর সেট করে বা ফেরত দেয় |
| shadowColor | ছায়ার জন্য ব্যবহৃত রঙ সেট বা ফেরত দেয় |
| shadowOffsetX | আকৃতি থেকে ছায়ার অনুভূমিক দূরত্ব সেট করে বা ফেরত দেয় |
| shadowOffsetY | আকৃতি থেকে ছায়ার উল্লম্ব দূরত্ব সেট করে বা ফেরত দেয় |
| strokeStyle | পক্ষের জন্য ব্যবহৃত রঙ, আভা বা প্যাটার্ন সেট বা নির্ধারণ করে |
Transformations
| পদ্ধতি | ব্যাখ্যা |
|---|---|
| scale() | বর্তমান অঙ্কন জুম ইন বা আউট |
| rotate() | বর্তমান অঙ্কন ঘোরান |
| translate() | ক্যানভাসে (0,0) অবস্থানটি রিম্যাপ করে |
| transform() | অঙ্কনের জন্য বর্তমান রূপান্তর ম্যাট্রিক্স পরিবর্তন করে |
| setTransform() | পরিচয় ম্যাট্রিক্সে বর্তমান রূপান্তর ফিরিয়ে দেয়। তারপর রুপান্তর () কার্যকর করে |
Image Drawing
| পদ্ধতি | ব্যাখ্যা |
|---|---|
| drawImage() | ক্যানভাসে একটি ছবি, ক্যানভাস বা ভিডিও আঁকে |
The ImageData Object / Pixel Manipulation
| পদ্ধতি/বৈশিষ্ট্য | ব্যাখ্যা |
|---|---|
| createImageData() | একটি নতুন, খালি ImageData অবজেক্ট তৈরি করে |
| getImageData() | ক্যানভাসে নির্দিষ্ট আয়তক্ষেত্রের জন্য পিক্সেল ডেটার একটি অনুলিপি ধারণকারী একটি ImageData বস্তু ফেরত দেয় |
| ImageData.data | নির্দিষ্ট ImageData অবজেক্টের ইমেজ ডেটা ধারণকারী একটি অবজেক্ট প্রদান করে |
| ImageData.height | ImageData বস্তুর উচ্চতা প্রদান করে |
| ImageData.width | ImageData অবজেক্টের প্রস্থ ফেরত দেয় |
| putImageData() | ইমেজ ডেটা (নির্দিষ্ট ইমেজডেটা অবজেক্ট থেকে) ক্যানভাসে ফিরিয়ে রাখে |
Compositing
| বৈশিষ্ট্য | ব্যাখ্যা |
|---|---|
| globalAlpha | অঙ্কনের বর্তমান আলফা বা স্বচ্ছতার মান সেট করে বা ফেরত দেয় |
| globalCompositeOperation | একটি বিদ্যমান চিত্রের উপর কিভাবে একটি নতুন ছবি আঁকা হয় তা সেট বা প্রদান করে |
Other Methods
| পদ্ধতি | ব্যাখ্যা |
|---|---|
| clip() | মূল ক্যানভাস থেকে যেকোনো আকৃতি এবং আকারের একটি অঞ্চল কাটে |
| save() | বর্তমান অঙ্কন পরিবেশের অবস্থা এবং এর সমস্ত বৈশিষ্ট্য সংরক্ষণ করে |
| restore() | পূর্বে সংরক্ষিত অবস্থা এবং গুণাবলী পুনরুদ্ধার করে |
| createEvent() | |
| getContext() | |
| toDataURL() |
Standard Properties and Events
ক্যানভাস অবজেক্ট স্ট্যাটিক বৈশিষ্ট্য এবং ঘটনা সমর্থন করে।
Browser Support
<canvas> উপাদানটি একটি HTML5 মান (2014)।
ক্যানভাস API সমস্ত আধুনিক ব্রাউজারে সমর্থিত:
| Chrome | Edge | Firefox | Safari | Opera | IE |
|---|---|---|---|---|---|
| Yes | Yes | Yes | Yes | Yes | 9-11 |