کانواس API
- پچھلے پہلہ HTML اسٹائل
- آئندہ پہلہ 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);
路径
روشهای رایج برای ترسیم روی صفحهنما:
- شروع مسیر - beginPath()
- به یک نقطه حرکت کنید - moveTo()
- در مسیر ترسیم - lineTo()
- ترسیم مسیر - 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 اسٹائل
- آئندہ پہلہ API کنسول