API Canvas
- صفحه قبلی استایل HTML
- صفحه بعدی کنسول API
عنصر <canvas> یک منطقه رزمات در صفحه HTML را تعریف میکند.
API Canvas اجازه میدهد JavaScript در کانواس (canvas) تصاویر ترسیم کند.
API Canvas میتواند شکلها، خطوط، منحنیها، مربعها، متن و تصاویر را ترسیم کند، همچنین رنگها، چرخش، شفافیت و سایر عملیاتهای پیکسلی.
افزودن Canvas به HTML
شما میتوانید از تگ <canvas> در هر مکان از صفحه HTML برای افزودن عنصر canvas استفاده کنید:
مثال
<canvas id="myCanvas" width="300" height="150"></canvas>
چگونه به عنصر Canvas دسترسی پیدا کنید
شما میتوانید از روش HTML DOM getElementById() برای دسترسی به عنصر <canvas> استفاده کنید:
const myCanvas = document.getElementById("myCanvas");
برای طراحی در کاغذ، باید object زمینه 2D ایجاد کنید:
const ctx = myCanvas.getContext("2d");
نکته
عنصر HTML <canvas> خود به هیچ عنوان قابلیت طراحی ندارد.
شما باید از JavaScript برای کشیدن هر نوع نمودار استفاده کنید.
روش getContext() یک object با ابزارهای طراحی (روشها) را برمیگرداند.
در کاغذ طراحی کردن
پس از ایجاد 2D object زمینه، شما میتوانید در کاغذ طراحی کنید.
در روش 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() | obieکتی که عرض متن مشخص شده را بازمیگرداند. |
نقاشی تصویر
روش | توضیح |
---|---|
drawImage() | تصویر، کانواس یا ویدیو را روی کانواس میکشد. |
عملیات پیکسلی
ویژگی | توضیح |
---|---|
width | عرض obieکت ImageData را بازمیگرداند. |
height | ارتفاع obieکت ImageData را بازمیگرداند. |
data | obieکتی که دادههای ImageData مشخص شده را شامل میشود، بازمیگرداند. |
روش | توضیح |
---|---|
createImageData() | obieکت ImageData خالی جدیدی ایجاد میکند. |
getImageData() | obieکتی ImageData که دادههای تصویر محدوده مشخص شده از کانواس را کپی میکند، بازمیگرداند. |
putImageData() | دادههای تصویر (از ImageData مشخص شده) را به کانواس برمیگرداند. |
ترکیب
ویژگی | توضیح |
---|---|
globalAlpha | مقدار alpha یا شفافیت فعلی نقاشی را تنظیم یا بازمیگرداند. |
globalCompositeOperation | راهی را که تصویر جدید بر روی تصویر موجود کشیده میشود، تنظیم یا بازمیگرداند. |
دیگر
روش | توضیح |
---|---|
save() | وضعیت کنونی محیط را ذخیره میکند. |
restore() | وضعیت و ویژگیهای مسیر ذخیره شده قبلی را بازمیگرداند. |
createEvent() | |
getContext() | |
toDataURL() |
ویژگیها و رویدادهای استاندارد
عنصر کانواس همزمان از ویژگیها و رویدادهای استاندارد پشتیبانی میکندویژگیورویداد.
صفحات مرتبط
آموزش HTML:کانواس HTML5
آموزش تصویری HTML:آموزش کانواس HTML
دستورالعملهای HTML:برچسب <canvas> HTML
- صفحه قبلی استایل HTML
- صفحه بعدی کنسول API