HTML Canvas Reference

HTML ক্যানভাস API ম্যানুয়াল

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

Exercises

Which method is used to get the 2D drawing context for a canvas?

getCanvas()
✗ ভুল! getCanvas() একটি বৈধ পদ্ধতি নয়
getContext("2d")
✓ ঠিক আছে! getContext("2d") 2D অঙ্কন প্রসঙ্গ প্রদান করে
createContext()
✗ ভুল! createContext() একটি বৈধ পদ্ধতি নয়
get2DContext()
✗ ভুল! get2DContext() একটি বৈধ পদ্ধতি নয়