کانواس API

<canvas> عنصر HTML صفح میں بیت مپ علاقہ کا تعریف کرتا ہے.

کانواس API جو JavaScript کو کانواس پر گرافیک درآوردن کا اجازت دیتا ہے.

کانواس API شکل، لائن، منحنی، فریم، متن اور تصاویر، نیز رنگ، چرخش، شفافیت اور دیگر پیکسل آپریشن کا نقاشی کرنا بھی دیتا ہے.

کانواس کو HTML میں شامل کریں

آپ <canvas> تگ کو HTML صفحه کی کسی بجای کا استعمال می‌توانید کانواس عنصر کا اضافه کریں:

مثال

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

آزمایش کنید

کيفية دسترسی به عنصر Canvas

آپ <canvas> عنصر کو getElementById() HTML DOM می‌توانید بگیرید:

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

برای ترسیم روی صفحه‌نما، باید یک شیء محیط 2D ایجاد کنید:

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

نکته

عنصر HTML <canvas> به تنهایی قابلیت ترسیم ندارد.

شما باید از 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);

آزمایش کنید

شما همچنین می‌توانید از متد 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);

آزمایش کنید

路径

روش‌های رایج برای ترسیم روی صفحه‌نما:

  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 设置或返回阴影到形状的水平距离。
shadowOffsetY 设置或返回阴影到形状的垂直距离。
متد وصف
createLinearGradient() 创建线性渐变(用于画布内容)。
createPattern() 在指定方向重复指定的元素。
createRadialGradient() 创建径向/圆形渐变(用于画布内容)。
addColorStop() 规定渐变对象中的颜色和停止位置。

线条样式

متا وصف
lineCap 设置或返回线的端盖样式。
lineJoin 设置或返回两条线相交时创建的角的类型。
lineWidth 设置或返回当前线宽。
miterLimit 设置或返回最大斜接长度。

矩形

متد وصف
rect() 创建矩形。
fillRect() 绘制“填充的”矩形。
strokeRect() 绘制矩形(无填充)。
clearRect() 清除给定矩形内的指定像素。

路径

متد وصف
fill() 填充当前图形(路径)。
stroke() 实际上绘制您定义的路径。
beginPath() 开始路径,或重置当前路径。
moveTo() 将路径移动到画布中的指定点,而不创建线。
closePath() 创建从当前点返回起点的路径。
lineTo() 添加一个新点并创建一条从该点到画布中最后一个指定点的线。
clip() 从原始画布中剪裁任意形状和大小的区域。
quadraticCurveTo() 创建二次贝塞尔曲线。
bezierCurveTo() 创建三次贝塞尔曲线。
arc() 创建圆弧/曲线(用于创建圆或圆的一部分)。
arcTo() 在两条切线之间创建圆弧/曲线。
isPointInPath() 如果指定点在当前路径中,则返回 true,否则返回 false。

转换

متد وصف
scale() 放大或缩小当前图形。
rotate() 旋转当前图形。
translate() 重新映射画布上的 (0,0) 位置。
transform() ड्राइंग के वर्तमान ट्रांसफॉर्म मैट्रिक्स को प्रतिस्थापित करें。
setTransform() वर्तमान ट्रांसफॉर्म को एकमात्र मात्रिका में पुन:सेट करें। फिर चलाएं transform().

टैक्स्ट

متا وصف
font सेट या वापस करें टैक्स्ट सामग्री के वर्तमान फ़ॉन्ट गुण。
textAlign सेट या वापस करें टैक्स्ट सामग्री के वर्तमान ज्ञानकोण तरीका。
textBaseline نقاشی کے وقت استعمال کی جا رہی متن کی موجودہ بنیادی خط کا قیاس کرتا ہے یا اس کو ساتھی کرتا ہے۔
متد وصف
fillText() موجودہ کینو پر 'ملانہ' متن کو نقاشی کرتا ہے۔
strokeText() موجودہ کینو پر متن کو نقاشی کرتا ہے (ملانہ).
measureText() مخصوص متن کی چوڑائی کا حامل آئیٹم برآمد کرتا ہے۔

تصویر نقاشی

متد وصف
drawImage() کینو پر تصویر، کینو یا ویڈیو کو نقاشی کرتا ہے۔

پیکسل آپریشن

متا وصف
چوڑائی ImageData آئیٹم کی چوڑائی برآمد کرتا ہے۔
بلندی ImageData آئیٹم کی بلندی برآمد کرتا ہے۔
data مخصوص ImageData آئیٹم کی تصویر کی دیتا کا حامل آئیٹم برآمد کرتا ہے۔
متد وصف
createImageData() نئی خالی ImageData آئیٹم بناتی ہے۔
getImageData() ImageData آئیٹم برآمد کرتا ہے، جو کینو پر مخصوص مسلسل کے پیکسل کی دیتا کا حامل ہے۔
putImageData() تصویر کے اعداد و شمار کو کینو پر دوبارہ لایا جاتا ہے (مخصوص ImageData آئیٹم سے).

ملاحظہ

متا وصف
globalAlpha نقاشی کی موجودہ آلفا یا شفافیت کا قیاس کرتا ہے یا اس کو ساتھی کرتا ہے۔
globalCompositeOperation نئی تصویر کو موجودہ تصویر پر کس طرح کا نقاشی کیا جائے، اس کا قیاس کرتا ہے۔

دیگر

متد وصف
save() موجودہ کی حالت کو محفوظ کرتا ہے۔
restore() پچھلے محفوظ کی سمت اور متا برآمد کرتا ہے۔
createEvent()
getContext()
toDataURL()

استاندارد متا اور واقعات

کینو آئیٹم ساتھ استانداردمتااورواقعات.

مرتبط صفحات

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

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

HTML 参考 دستورHTML <کینو> تگ