فهرست سرفصل‌های HTML
خانه (HOME) مقدمه (Introduction) ویرایشگرها (Editors) پایه ها (Basic) المان ها (Elements) ویژگی ها (Attributes) سرفصل ها (Headings) پاراگراف ها (Paragraphs) استایل ها (Styles) قالب بندی متن (Formatting) نقل قول ها (Quotations) توضیحات (Comments) رنگ ها (Colors) مدل RGB (RGB) مدل HEX (HEX) مدل HSL (HSL) استفاده از CSS (CSS) لینک ها (Links) رنگ لینک ها (Link Colors) نشانه های لینک (Link Bookmarks) تصاویر (Images) نقشه تصویر (Image Map) تصویر پس زمینه (Background Images) المان Picture (The Picture Element) فاوآیکون (Favicon) عنوان صفحه (Page Title) جداول (Tables) مرزهای جدول (Table Borders) اندازه های جدول (Table Sizes) سربرگ های جدول (Table Headers) فاصله داخلی و بیرونی جدول (Padding & Spacing) ادغام سلول ها (Colspan & Rowspan) استایل دهی جدول (Table Styling) گروه ستون ها (Table Colgroup) فهرست ها (Lists) فهرست نامرتب (Unordered Lists) فهرست مرتب (Ordered Lists) سایر فهرست ها (Other Lists) بلوک ها و درون خطی ها (Block & Inline) المان div (Div) کلاس ها (Classes) شناسه ها (Id) فریم ها (Iframes) جاوااسکریپت (JavaScript) مسیر فایل ها (File Paths) بخش head (Head) چیدمان (Layout) طراحی واکنش گرا (Responsive) کدهای رایانه ای (Computercode) المان های معنایی (Semantics) راهنمای نگارش (Style Guide) نهادها (Entities) نمادها (Symbols) ایموجی ها (Emojis) کدگذاری نویسه ها (Charsets) رمزگذاری URL (URL Encode) مقایسه با XHTML (vs. XHTML) فرم ها (Forms) ویژگی های فرم (Form Attributes) المان های فرم (Form Elements) انواع ورودی (Input Types) ویژگی های ورودی (Input Attributes) بوم نقاشی (Canvas) بردارهای گرافیکی (SVG) رسانه ها (Media) ویدیو (Video) صدا (Audio) افزونه ها (Plug-ins) یوتیوب (YouTube) رابط های وب (Web APIs) مکان یابی جغرافیایی (Geolocation) کشیدن و رها کردن (Drag and Drop) ذخیره سازی وب (Web Storage) کارگران وب (Web Workers) رویدادهای ارسالی از سرور (Server-Sent Events-SSE) توضیح (<!-->) اعلان نوع سند (<!DOCTYPE>) پیوند (a) اختصار (abbr) سرنام (acronym) آدرس (address) اپلت (applet) ناحیه نقشه (area) مقاله (article) کنار نویس (aside) صوت (audio) پررنگ (b) پایه (base) فونت پایه (basefont) جداساز دوطرفه (bdi) جهت متن (bdo) بزرگ (big) بلوک نقل (blockquote) بدنه (body) خط جدید (br) دکمه (button) بوم (canvas) عنوان جدول (caption) مرکز (center) ارجاع (cite) کد (code) ستون (col) گروه ستون (colgroup) داده (data) فهرست داده (datalist) تعریف شرح (dd) حذف (del) جزئیات (details) اصطلاح (dfn) دایرکتوری (dir) بخش (div) فهرست تعاریف (dl) عنوان تعریف (dt) تأکید (em) جاسازی (embed) مجموعه فیلدها (fieldset) عنوان شکل (figcaption) شکل (figure) فونت (font) پاورقی (footer) فرم (form) فریم (frame) مجموعه فریم ها (frameset) سرفصل ها (h1–h6) سر (head) سربرگ (header) گروه عنوان (hgroup) خط افقی (hr) سند HTML (html) مورب (i) چارچوب درون صفحه ای (iframe) تصویر (img) ورودی (input) درج (ins) صفحه کلید (kbd) برچسب (label) افسانه (legend) مورد فهرست (li) پیوند منبع (link) بخش اصلی (main) نقشه تصویر (map) نشانه گذاری (mark) منو (menu) فراداده (meta) سنجش (meter) ناوبری (nav) بدون فریم (noframes) بدون اسکریپت (noscript) شیء (object) فهرست مرتب (ol) گروه گزینه ها (optgroup) گزینه (option) خروجی (output) پاراگراف (p) پارامتر (param) تصویر پاسخ گو (picture) پیش قالب (pre) پیشرفت (progress) نقل قول کوتاه (q) پرانتز روبی (rp) متن روبی (rt) روبی (ruby) خط زده (s) نمونه خروجی (samp) اسکریپت (script) جستجو (search) بخش (section) انتخاب (select) کوچک (small) منبع (source) دامنه (span) خط بطلان (strike) پررنگ معنایی (strong) سبک (style) زیرنویس (sub) خلاصه (summary) بالانویس (sup) بردار گرافیکی (svg) جدول (table) بدنه جدول (tbody) سلول جدول (td) الگو (template) ناحیه متن (textarea) پاورقی جدول (tfoot) سر ستون جدول (th) سربرگ جدول (thead) زمان (time) عنوان (title) سطر جدول (tr) زیرنویس رسانه (track) تله تایپ (tt) زیرخط دار (u) فهرست نامرتب (ul) متغیر (var) ویدیو (video) شکست خط (wbr)
HTML

HTML — بوم نقاشی (Canvas)

آخرین بروزرسانی: 1404/08/07

بوم نقاشی (Canvas)

عنصر «بوم نقاشی (Canvas)» یک قاب خالی برای نقاشی است. «بوم» خودش چیزی نمی کشد. اما با «جاوااسکریپت (JavaScript)» روی آن می کشیم. دقیقا مثل دفتر سفید که با مداد نقاشی می کنی.

Canvas چیست؟

بوم یک مستطیل در صفحه است. مرز ندارد و محتوا ندارد. با اسکریپت، خط، دایره، متن، تصویر و گرادیان می کشیم. همه مرورگرهای مهم آن را پشتیبانی می کنند.

ایجاد یک Canvas خالی

همیشه برای بوم «id» و اندازه بده. مرز را با style می گذاری.

<canvas id="myCanvas" width="200" height="100" style="border:1px solid #000000;"></canvas>

مشاهده در ادیتور

افزودن جاوااسکریپت برای نقاشی

اول بوم را بگیر. سپس با context نقاشی کن. «context» قلم نقاشی است.

کشیدن خط

<script>
  var c = document.getElementById("myCanvas");
  var ctx = c.getContext("2d");
  ctx.moveTo(0, 0);
  ctx.lineTo(200, 100);
  ctx.stroke();
<\/script>

مشاهده در ادیتور

کشیدن دایره

<script>
  var c = document.getElementById("myCanvas");
  var ctx = c.getContext("2d");
  ctx.beginPath();
  ctx.arc(95, 50, 40, 0, 2 * Math.PI);
  ctx.stroke();
<\/script>

مشاهده در ادیتور

نوشتن متن پرشده

<script>
  var c = document.getElementById("myCanvas");
  var ctx = c.getContext("2d");
  ctx.font = "30px Arial";
  ctx.fillText("Hello World", 10, 50);
<\/script>

مشاهده در ادیتور

نوشتن متن دورخط (Stroke)

<script>
  var c = document.getElementById("myCanvas");
  var ctx = c.getContext("2d");
  ctx.font = "30px Arial";
  ctx.strokeText("Hello World", 10, 50);
<\/script>

مشاهده در ادیتور

گرادیان خطی

<script>
  var c = document.getElementById("myCanvas");
  var ctx = c.getContext("2d");
  var grd = ctx.createLinearGradient(0, 0, 200, 0);
  grd.addColorStop(0, "red");
  grd.addColorStop(1, "white");
  ctx.fillStyle = grd;
  ctx.fillRect(10, 10, 150, 80);
<\/script>

مشاهده در ادیتور

گرادیان شعاعی

<script>
  var c = document.getElementById("myCanvas");
  var ctx = c.getContext("2d");
  var grd = ctx.createRadialGradient(75, 50, 5, 90, 60, 100);
  grd.addColorStop(0, "red");
  grd.addColorStop(1, "white");
  ctx.fillStyle = grd;
  ctx.fillRect(10, 10, 150, 80);
<\/script>

مشاهده در ادیتور

کشیدن تصویر

<script>
  var c = document.getElementById("myCanvas");
  var ctx = c.getContext("2d");
  var img = document.getElementById("scream");
  ctx.drawImage(img, 10, 10);
<\/script>

مشاهده در ادیتور

تمرین سه مرحله ای: بوم نقاشی

  1. یک بوم با مرز مشکی بساز.
  2. یک خط و یک دایره بکش.
  3. یک متن پرشده و گرادیان اضافه کن.

نکته: اگر چیزی ندیدی، کنسول مرورگر را چک کن.

جمع بندی سریع

  • Canvas ظرف خالی برای نقاشی است.
  • همه چیز با JavaScript کشیده می شود.
  • با context ابزار نقاشی داری.
  • متن، شکل، تصویر و گرادیان ممکن است.

بیشتر بخوان: بوم نقاشی، SVG. برای آشنایی با ورودی ها، صفحه انواع ورودی را ببین.