Canvas API

<canvas> 元素定义 HTML 页面中的位图区域。

Canvas API 允许 JavaScript 在画布上绘制图形。

Canvas API 可以绘制形状、线条、曲线、方框、文本和图像,以及颜色、旋转、透明度和其他像素操作。

将 Canvas 添加到 HTML

您可以使用 <canvas> 标签在 HTML 页面中的任意位置添加 canvas 元素:

ਉਦਾਹਰਣ

<canvas id="myCanvas" width="300" height="150"></canvas>

ਆਪਣੇ ਅਨੁਭਵ ਕਰੋ

如何访问 Canvas 元素

您可以使用 HTML DOM 方法 getElementById() 访问 <canvas> 元素:

const myCanvas = document.getElementById("myCanvas");

如需在画布上绘图,您需要创建 2D 上下文对象:

const ctx = myCanvas.getContext("2d");

笔记

HTML 元素本身没有绘图功能。

您必须使用 JavaScript 来绘制任何图形。

getContext() 方法返回一个带有绘图工具(方法)的对象。

ਕੈਨਵਾਸ 'ਤੇ ਚਿੱਤਰਨ

2D ਕੰਟੈਕਟ ਪ੍ਰਤੀਯੋਗਿਤਾ ਬਣਾਉਣ ਤੋਂ ਬਾਅਦ ਤੁਸੀਂ ਕੈਨਵਾਸ 'ਤੇ ਚਿੱਤਰਨ ਕਰ ਸਕਦੇ ਹੋ।

ਹੇਠ ਲਿਖੇ fillRect() ਮੱਥਾ ਰੰਗ ਦਾ ਬਲੈਕ ਚੱਕਰ ਦਰਸਾਉਂਦਾ ਹੈ ਜਿਸ ਦਾ ਉੱਚਾ ਹੱਦ 20,20 ਸਥਿਤ ਹੈ। ਇਹ ਚੱਕਰ 150 ਪਿਕਸਲ ਚੌੜਾ ਅਤੇ 100 ਪਿਕਸਲ ਉੱਚਾ ਹੈ:

ਉਦਾਹਰਣ

const myCanvas = document.getElementById("myCanvas");
const ctx = myCanvas.getContext("2d");
ctx.fillRect(20, 20, 150, 100);

ਆਪਣੇ ਅਨੁਭਵ ਕਰੋ

ਰੰਗ ਦੀ ਵਰਤੋਂ

fillStyle ਪ੍ਰਤੀਯੋਗਿਤਾ ਪ੍ਰਤੀਯੋਗਿਤਾ ਦੇ ਪੂਰਕ ਰੰਗ ਨੂੰ ਸੈਟ ਕਰਦੀ ਹੈ:

ਉਦਾਹਰਣ

const myCanvas = document.getElementById("myCanvas");
const ctx = myCanvas.getContext("2d");
ctx.fillStyle = "red";
ctx.fillRect(20, 20, 150, 100);

ਆਪਣੇ ਅਨੁਭਵ ਕਰੋ

ਤੁਸੀਂ ਇਸ ਤਰ੍ਹਾਂ ਇੱਕ ਨਵਾਂ <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);

ਆਪਣੇ ਅਨੁਭਵ ਕਰੋ

clearRect()

ਕੈਨਵਾਸ 'ਤੇ ਚਿੱਤਰਨ ਦੇ ਆਮ ਤਰੀਕੇ ਹਨ:

  1. ਪਥ ਸ਼ੁਰੂ ਕਰੋ - beginPath()
  2. ਇੱਕ ਪੁਆਇੰਟ ਵੱਲ ਜਾਓ - moveTo()
  3. ਪਥ ਵਿੱਚ ਦਰਸਾਉਣ - lineTo()
  4. ਪਥ ਦਰਸਾਉਣ - stroke()

ਉਦਾਹਰਣ

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();

ਆਪਣੇ ਅਨੁਭਵ ਕਰੋ

ਰੰਗ, ਸਟਾਈਲ ਅਤੇ ਸ਼ੇਡੋਅਮ

کا پرزنٹیگ پرزنٹیگ
fillStyle ਪੂਰਕ ਲਈ ਰੰਗ, ਗਰੇਡੀਐਂਟ ਜਾਂ ਪੈਟਰਨ ਨੂੰ ਸੈਟ ਕਰੋ ਜਾਂ ਵਾਪਸ ਲਓ。
strokeStyle ਲਿਖਣ ਲਈ ਰੰਗ, ਗਰੇਡੀਐਂਟ ਜਾਂ ਪੈਟਰਨ ਨੂੰ ਸੈਟ ਕਰੋ ਜਾਂ ਵਾਪਸ ਲਓ。
shadowColor ਸ਼ੇਡੋਅਮ ਲਈ ਰੰਗ ਨੂੰ ਸੈਟ ਕਰੋ ਜਾਂ ਵਾਪਸ ਲਓ。
shadowBlur ਸ਼ੇਡੋਅਮ ਦੀ ਧੁੱਲੇ ਪੱਧਰ ਨੂੰ ਸੈਟ ਕਰੋ ਜਾਂ ਵਾਪਸ ਲਓ。
shadowOffsetX 设置或返回阴影到形状的水平距离。
shadowOffsetX आकार को शाडू से वर्तमान आकार के अनुसार वर्तमान आकार के विरुद्ध पूर्व-पश्चिम दूरी को सेट या वापस करें।
میتھد پرزنٹیگ
shadowOffsetY आकार को शाडू से वर्तमान आकार के अनुसार वर्तमान आकार के विरुद्ध उत्तर-दक्षिण दूरी को सेट या वापस करें।
createLinearGradient() निरंतर ग्रेडिएंट (कैनवस सामग्री के लिए) बनाएं।
createPattern() निर्दिष्ट दिशा में निर्दिष्ट एलिमेंट को दोहराएं।
createRadialGradient() रेडियल/गोलाकार ग्रेडिएंट (कैनवस सामग्री के लिए) बनाएं।

addColorStop()

کا پرزنٹیگ پرزنٹیگ
ग्रेडिएंट ऑब्जैक्ट में रंग और स्टॉप्प स्थान को निर्धारित करें। लाइन शैली
lineCap लाइन के छोर के शैली को सेट या वापस करें।
lineJoin सर्वाधिक लाइन जोड़े जाने वाले कोन के तरीके को सेट या वापस करें।
lineWidth सर्वाधिक लाइन चौड़ाई को सेट या वापस करें।

miterLimit

میتھد پرزنٹیگ
सर्वाधिक झुकाव लंबाई को सेट या वापस करें। वर्गाकार
rect() वर्गाकार बनाएं।
fillRect() भरे हुए वर्गाकार चित्रित करें।
strokeRect() वर्गाकार (भरना नहीं) चित्रित करें।

clearRect()

میتھد پرزنٹیگ
निर्दिष्ट वर्गाकार क्षेत्र में निर्दिष्ट पिक्सल को मिटाएं। पथ
fill() वर्तमान ग्राफ़िक (पथ) को भरें।
stroke() आपके वर्तमान पथ को वास्तविक रूप से चित्रित करें।
beginPath() पथ शुरू करें या वर्तमान पथ को रीसेट करें।
moveTo() पथ को कैनवस में निर्दिष्ट बिन्दु में खिस्काएं, लेकिन रेखा नहीं बनाएं।
closePath() वर्तमान बिन्दु से शुरू करने वाला या वर्तमान पथ को रीसेट करने वाला पथ बनाएं।
lineTo() एक नया बिन्दु जोड़ें और उससे कैनवस में अंतिम निर्दिष्ट बिन्दु तक एक रेखा बनाएं।
clip() वास्तविक कैनवस से अर्बुद करीबी रूप से किसी भी आकार का क्षेत्र को काटें।
bezierCurveTo() तीन बेज़ियर कर्विंग बनाएं।
arc() गोलाकार/कर्विंग (गोला या गोला का हिस्सा बनाने के लिए) बनाएं।
arcTo() दो चित्रकारी रेखाओं के बीच में गोलाकार/कर्विंग बनाएं।
isPointInPath() यदि निर्दिष्ट बिन्दु वर्तमान पथ में है, तो true वापस करें, अन्यथा false वापस करें।

ट्रांसफॉर्मेशन

میتھد پرزنٹیگ
scale() वर्तमान ग्राफ़िक को विस्तार या छोटी करें।
rotate() वर्तमान ग्राफ़िक को घुमाएं।
translate() कैनवस पर (0,0) स्थान को नया मैपिंग करें।
transform() चित्रकारी के वर्तमान ट्रांसफॉर्मेशन मैट्रिक्स को प्रतिस्थापित करें।
setTransform() वर्तमान ट्रांसफॉर्मेशन को एकमात्रिका मैट्रिक्स में रीसेट करें। फिर चलाएं transform().

स्क्रिप्ट इन

کا پرزنٹیگ پرزنٹیگ
font सेट या वापस स्क्रिप्ट इनका वर्तमान फ़ॉन्ट गुण।
textAlign सेट या वापस स्क्रिप्ट इनका वर्तमान समानांतर तरीका।
textBaseline نئی لسانی کی بنیادی لائن کو بلاک کریں.
میتھد پرزنٹیگ
fillText() کینوسی پر 'پورنائی' لسانی کیسٹ کریں.
strokeText() کینوسی پر لسانی کیسٹ کریں (بغیر پورنائی).
measureText() کسی مخصوص لسانی کی چوڑائی کو بلاک کریں.

تصویر کیسٹ کریں

میتھد پرزنٹیگ
drawImage() کینوسی پر تصویر، کینوسی یا ویڈیو کیسٹ کریں.

پائیکسل آپریشن

کا پرزنٹیگ پرزنٹیگ
width ImageData پرزنٹیگ کی چوڑائی کو بلاک کریں.
height ImageData پرزنٹیگ کی اونچائی کو بلاک کریں.
data ImageData پرزنٹیگ کو بلاک کریں، جو کسی مخصوص ImageData پرزنٹیگ کا تصویر کی اعداد شمار کو کاپی کردیتی ہے.
میتھد پرزنٹیگ
createImageData() نئی خالی ImageData پرزنٹیگ کو بلاک کریں.
getImageData() ImageData پرزنٹیگ کو بلاک کریں، جو کینوسی پر کسی مخصوص مستطیل کا پائیکسل کی اعداد شمار کو کاپی کردیتی ہے.
putImageData() تصویر کی اعداد شمار کو کینوسی پر بلاک کریں.

کامپوزیٹیشن

کا پرزنٹیگ پرزنٹیگ
globalAlpha نئی تصویر کو موجودہ تصویر پر کیسٹ کریں کس طرح کا پرزنٹیگ کریں.
globalCompositeOperation نئی تصویر کو موجودہ تصویر پر کیسٹ کریں کس طرح کا پرزنٹیگ کریں.

دیگر

میتھد پرزنٹیگ
save() موجودہ کنٹیکس کی حالت کو ذخیرہ کریں.
restore() پچھلے ذخیرہ کردہ روٹ کی حالت اور پرزنٹیگو بلاک کریں.
createEvent()
getContext()
toDataURL()

کاٹا پرزنٹیگ اور کاٹا

کینوسی آٹھوٹ پرزنٹیگ اور کاٹاکا پرزنٹیگاورکاٹا.

مرتبط پیج

HTML تعلیمHTML5 کینوسی

HTML تصویر تعلیمHTML کینوسی تعلیم

HTML مراجعHTML <کینوسی> تگ