متدهاي مسير درجدول زير همراه با لينك تشريح آنها.
متد مسير | شرح |
---|---|
beginPath() | شروع مسير جديد يا بازيابي مسيرجاري |
closePath() | يك خط بمسير از نقطه فعلي تاشروع اضافه ميكند. |
isPointInInPath() | درصورت نقطه مشخص شده درمسيرباشد،مقدارtrue رگشت ميشود . |
moveTo() | مسير را به نقطه اي دربوم بدون ترسيم انتقال ميدهد. |
lineTo() | يك خط به مسير اضافه ميكند. |
fill() | مسير فعلي را پرميكند. |
rect() | مستطيلي به مسير اضافه ميكند. |
stroke() | مسير جاري راترسيم ميكند. |
bezierCurveTo() | يك منحني درجه سوم بزيه به مسير اصافه ميكند. |
arc() | يك قوس يامنحني) دايره وياقسمتي از دايرهرابه مسيراصافه ميكند |
arcTo() | يك قوس يامنحني بين دومماس، به مسير اضافه ميكند. |
quadraticCurvTo() | يك منحني درجه دوم بزيه به مسير اضافه ميكند. |
متدbeginPath() مسيري راشروع ويا مسيرجاري رابازيابي ميكند.
مثال ـ روي بوم يك مسير سبز ويك مسير بنفش ميكشد.
const canvas = document.getElementById("myCanvas"); const ctx = canvas.getContext("2d"); ctx.strokeStyle = "green"; ctx.lineWidth = 5 // Begin a Path ctx.beginPath(); ctx.moveTo(0, 75); ctx.lineTo(250, 75); // Draw the Path ctx.stroke(); // Begin a new Path ctx.beginPath(); ctx.strokeStyle = "purple"; ctx.moveTo(50, 0); ctx.lineTo(150, 130); // Draw the Path ctx.stroke();
اين متد هيچ مقدار برگشت نميدهد .همچنين بدون پارامتر ميباشد.
متدclosePath() مسيري را از نقطه فعلي تا نقطه شروع قبلي ايجاد ميكند .
از متدstroke() ياfill() براي ترسيم مسير استفاده كنيد .
مثال ـ مسيري به شكلL رسم ميشود ومسير با يك خط به نقطه شروع بسته ميشود .
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.closePath(); ctx.stroke();
اين متد داراي پارمتر ومقدار برگشتي نيست.
مثال ـ مسير رابا رنگ سياه پرميكند.
const c = document.getElementById("myCanvas"); const ctx = c.getContext("2d"); ctx.beginPath(); ctx.moveTo(20, 20); ctx.lineTo(20, 100); ctx.lineTo(70, 100); ctx.closePath(); ctx.fill();
متدisPointInPath() براي بررسي وجود نقطه در مسير جاريست .اگر نقطه وجود داشته باشد، برگشتي آنtrue است ودرغيراينصورت false
مثال ـ اگر نقطه(20,50) در مسير جاري باشد، مستطيلي ترسيم ميشود .
const canvas = document.getElementById("myCanvas"); const ctx = canvas.getContext("2d"); ctx.rect(20, 20, 150, 100); if (ctx.isPointInPath(20, 50)) { ctx.stroke();
توجه ـ درمسير بودن نقطه درمسيرجاري، همان درمحدوه عنصر بوم است.
پارامتر | شرح |
---|---|
x | مختصاتx نقطه براي كنترل |
y | مختصاتy نقطه براي كنترل |
متدmoveTo() مسير را بدون ترسيم خط به نقطه مشخصي انتقال ميدهد .
مثال ـ با شروع مسير به نقطه(0,0) رفته و خطي به موقعيت (300,150) ترسيم ميشود.
const canvas = document.getElementById("myCanvas"); const ctx = canvas.getContext("2d"); // Start a new Path ctx.beginPath(); ctx.moveTo(0, 0); ctx.lineTo(300, 150); // Draw the Path ctx.stroke();
پارامتر | شرح |
---|---|
x | مختصاتx نقطه ايكه بايد انتقال يابد |
y | مختصاتy نقطه ايكه بايد انتقال يابد |
متدllineTo() خطي از نقطه قبلي به نقطه جاري به مسير اضافه مينمايد .
از متد هايstroke() ياfill() براي ترسيم مسير استفاده نمائيد .
مثال ـ شروع مسير، انتقال به نقطه(0,0) وايجاد خط تانقطه (300,150)
const canvas = document.getElementById("myCanvas"); const ctx = canvas.getContext("2d"); // Start a new Path ctx.beginPath(); ctx.moveTo(0, 0); ctx.lineTo(300, 150); // Draw the Path ctx.stroke();
پارامتر | شرح |
---|---|
x | مختصاتx نقطه ايكه بايد باآن خط ايجاد شود |
y | مختصاتy نقطه ايكه بايد با آن خط ايجاد شود. |
مثال ـ ترسيم مسيرL مانند.
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();
متدfill() مسير جاري را پر ميكند .ويژگي fillStyle شئ context رنگ پركردن مسير رامشخص ميكند .اگر مشخص نشده باشد ،پيش فرض آن رنگ000000# ميباشد(solid black) .
متد فوق مسير را قبل از پركردن آن مانند متدclosePath() مي بندد .
مثال ـ ترسيم مستطيل150*100 وپركردن آن بارنگ قرمز
const canvas = document.getElementById("myCanvas"); const ctx = canvas.getContext("2d"); ctx.rect(20, 20, 150, 100); ctx.fillStyle = "red"; ctx.fill();
متد بدون پارامتر ميباشد.
متدrect() مستطيلي را به مسير اضافه ميكند .
مثال ـ ترسيم مستطيل150*100 پيكسل
const canvas = document.getElementById("myCanvas"); const ctx = canvas.getContext("2d"); ctx.beginPath(); ctx.rect(20, 20, 150, 100); ctx.stroke();
پارامتر | شرح |
---|---|
x | مختصاتx گوشه سمت چپ بالاي مستطيل |
y | مختصاتy گوشه سمت چپ بالائي مستطيل |
width | عرض مستطيل برحسب پيكسل |
height | ارتفاع مستطيل برحسب پيكسل |
مثال ـ ايجاد سه مستطيل با متدrect()
const canvas = document.getElementById("myCanvas"); const ctx = canvas.getContext("2d"); // Red rectangle ctx.beginPath(); ctx.lineWidth = "6"; ctx.strokeStyle = "red"; ctx.rect(5, 5, 290, 140); ctx.stroke(); // Green rectangle ctx.beginPath(); ctx.lineWidth = "4"; ctx.strokeStyle = "green"; ctx.rect(30, 30, 50, 50); ctx.stroke(); // Blue rectangle ctx.beginPath(); ctx.lineWidth = "10"; ctx.strokeStyle = "blue"; ctx.rect(50, 50, 150, 80); ctx.stroke();
متدstroke() مسير جاري راترسيم ميكند .مقدار پيش فرض strokeStyle براي ترسيم متد مذكور ،رنگ000000# است (solid black) .
مثال ـ يك مسير شكلL را بارنگ قرمز ترسيم ميكند .
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.strokeStyle = "red"; ctx.stroke();
متد بدون پارامتر وبدون مقدار برگشتي است.
متدbezierCurveTO() يك منحني به مسير اضافه ميكند .اين منحني با نقاط كنترلي كه در متد داده ميشود، منحني بزيه درجه سه خواهد داشت .براي ترسيم مسير از متدهاي storke()ياfill() استفاده نمائيد .
مثال ـ ترسيم منحني بزيه درجه سه
const canvas = document.getElementById("myCanvas"); const ctx = canvas.getContext("2d"); ctx.beginPath(); ctx.moveTo(20, 20); ctx.bezierCurveTo(20, 100, 200, 100, 200, 20); ctx.stroke();
يك منحني درجه سه بزيه به سه نقطه نيازدارد .دونقطه اول آن كنـترلي هستند، كه درمحاسبات درجه سوم بزيه استفاده ميشوند .آخرين نقطه ، نقطه پاياني براي منحني است .نقطه شروع منحني آخرين نقطه درمسيرفعلي است.اگر مسيري وجود ندارد، ازمتدهايbeginePath() و moveTo()براي شروع استفاده كنيد .
نقاط شكل براي منحني بزيه درجه سه بصورت زيراست:
پارامتر | شرح |
---|---|
cp1x | نقطه كنترلي يك مختصاتx |
cp1y | نقطه كنترلي يك مختصاتy |
cp2x | نقطه كنترلي دوم مختصاتx |
cp2y | نقطه كنترلي دوم مختصاتy |
x | نقطه پاياني مختصاتx |
y | نقطه پاياني مختصاتy |
متدarc() يك قوس يا منحني به مسير اضافه ميكند .اين متد دايره يا قسمتي ازآنرا به مسير اضافه ميكند.
از متد هايstroke() ياfill() براي ترسيم مسير استفاده نمائيد .
مثال ـ ايجاد يك دايره
const canvas = document.getElementById("myCanvas"); const ctx = canvas.getContext("2d"); ctx.beginPath(); ctx.arc(100, 75, 50, 0, 2 * Math.PI); ctx.stroke();
براي قسمتي از دايره درتصوير زير ، در تنظيم آن براي متدarc() موارد را دنبال ميكنيم.
پارامتر | شرح |
---|---|
x | مركز دايره مختصاتx |
y | مركز دايره مختصاتy |
r | شعاع دايره |
sAngle | زوايه شروع |
eAngle | زاويه پايان |
counterclockwise | اختياري ـ جهت ترسيم را مشخص ميكند.
trueـ جهت حركت ساعت falseـ پيش فرض ، خلاف جهت حركت ساعت |
مثال ـ ترسيم يك دايره نارنجي
const canvas = document.getElementById("myCanvas"); const ctx = canvas.getContext("2d"); ctx.beginPath(); ctx.arc(100, 75, 50, 0, 2 * Math.PI); ctx.fillStyle = "orange"; ctx.fill();
متدarcTo() يك قوس/ منحني بين دو مماس به مسيراضافه ميكند.
از متد هايstroke() ياfill() براي ترسيم مسير استفاده نمائيد .
مثال ـ يك كمان بين دومماس روي بوم ايجاد ميكند.
const canvas = document.getElementById("myCanvas"); const ctx = canvas.getContext("2d"); // Start a path ctx.beginPath(); ctx.moveTo(20, 20); // Create a horizontal line ctx.lineTo(100, 20); // Create an arc ctx.arcTo(150, 20, 150, 70, 50); // Create a vertical line ctx.lineTo(150, 120); // Draw the path ctx.stroke();
پارامتر | شرح |
---|---|
x1 | نقطه شروع منحني مختصاتx |
y1 | نقطه شروع منحني مختصاتy |
x2 | نقطه پايان منحني مختصاتx |
y2 | نقطه پايان منحني مختصاتy |
r | شعاع منحني كه قسمتي از دايره است |
مثال ـ ايجاد قوسي بين دو مماس وپركردن آن
const canvas = document.getElementById("myCanvas"); const ctx = canvas.getContext("2d"); // Start a path ctx.beginPath(); ctx.moveTo(20, 20); // Create a horizontal line ctx.lineTo(100, 20); // Create an arc ctx.arcTo(150, 20, 150, 70, 50); // Create a vertical line ctx.lineTo(150, 120); // Fill and draw the path ctx.fill();
متدquadraticCurveTo() بااستفاده از نقاط كنترلي كه منحني درجه دوم بزيه را نشان ميدهند، يك منحني به مسيرفعلي اضافه ميكند.
از متد هايstroke() ياfill() براي ترسيم مسير استفاده نمائيد .
مثال ـ رسم منحني درجه دوم بزيه
const canvas = document.getElementById("myCanvas"); const ctx = canvas.getContext("2d"); ctx.beginPath(); ctx.moveTo(20, 20); ctx.quadraticCurveTo(20, 100, 200, 20); ctx.stroke();
يك منحني درجه دوم بزيه به دو نقطه نياز دارد .نقطه اول بك نقطه كنترلي است كه درمحاسبه بزيه درجه دوم استفاده ميشود.، ونقطه دوم نقطه پايان منحني است .نقطه شروع منحني آخرين نقطه در مسي فعلي است .اگر مسيري وجود ندارد، از متدهايbeginPth() و moveTo براي تعريف نقطه شروع استفاده كنيد.
نقاط مربوطه در ترسيم منحني بزيه از تصوير مطابق زيرند:
پارامتر | شرح |
---|---|
cpx | نقطه كنترلي مختصاتx |
cpy | نقطه كنترلي مختصاتy |
x | نقطه پاياني مختصاتx |
y | نقطه پاياني مختصاتy |