HTML DOM Canvas

Previous >    <Next  

‎بوم نقاشي ـHTML DOM Canvas

‎عنصر‎<canvas>‎ يك ناحيه بيت مپي در يك صفحه HTML تعريف مينمايد .

Canvas API‎به جاوا اسكريپت اجازه ميدهد كه روي بوم با آن گرافيك ترسيم نمود . اينAPI ‎داراي امكانات رسم اشكال، خطوط ، منحني ها، باكس ها،متن و تصاوير با امكانات رنگ ، عمليات ‎چرخشي، شفافيت و ساير دستكاري هاي پيكسلي را دارد.

‎افزودن بوم بهHTML

‎ميتوان با تگ‎<canvas>‎ هرجائي ازصفحه عنصر بوم رااضافه كرد .

‎مثال ـ ايجاد بوم درصفه

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

--(go to editor for change code and run)

‎روش دسترسي به عنصر بوم

‎با متدHTML DOM‎getElementById()‎‎ ميتوان ارطريق id عنصر ‎<canvas>‎ ‎به آن دسترسي پيدا كرد .نمونه زير:

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

‎براي ترسيم روي بوم نيازمند ايجاد شئ زمينه دوبعدي است

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

‎توجه ـ خود عنصرHTML ‎7ltcanvas>‎ داراي هيچ قابليت ترسمي نمي باشد . بايد ‎ازامكانات جاوااسگريپت براي ترسيم روي آن استفاده كرد.

‎متد‎getContext()‎‎ شئي را با امكانات ابزار ترسيمي روي آن برگشت ميدهد .

‎ترسيم روي عنصر بوم

‎پس از ايجاد يك زمينه دوبعدي روي بوم ، ميتوان روي آن نقاشي كشيد.

‎مثال ـ متد‎fillRect()‎‎ مستطيلي سياه رنگ كه راس بالاي چپ آن در نقطه ‎(20,20)‎وعرض‎150‎ پيكسل وارتفاع آن‎100‎ پيكسل است، را ‎ترسيم ميكند.

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

ctx.fillRect(20, 20, 150, 100);

--(go to editor for change code and run)

‎استفاده از رنگ ها ـUsing Colors

‎ويژگيfillStyle رنگ شئ ترسيمي را مشخص ميكند .

‎مثال ـ ترسيم مستطيل قرمز .پيش فرض رنگ سياه است

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

ctx.fillStyle = "red";
ctx.fillRect(20, 20, 150, 100);

--(go to editor for change code and run)

‎ميتوان با متد‎document.createElement()‎‎ عنصر ‎<canvas>‎ ‎را ايجاد وبه صفحه موجود اضافه نمود.

‎مثال ـ ايجاد عنصر بوم با متد‎document.CreateElement()‎

const myCanvas = document.createElement("canvas");
document.body.appendChild(myCanvas);
const ctx = myCanvas.getContext("2d");

ctx.fillStyle = "red";
ctx.fillRect(20, 20, 150, 100);

--(go to editor for change code and run)

‎مسيرها ـPaths

‎روش متداول ترسيم روي بوم اين است كه:

  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();

--(go to editor for change code and run)

‎مرجع كاملCanvas API

‎اين مرجع تمام ويژگي ها وروش هاي شئ‎getContext(‎"2d‎")‎ را كه براي ترسيم ‎متن، خطوط ، كادرها ، دايره ها، تصاوير وموارد ديگر كه روي بوم استفاده ميشود، پوشش ميدهد.

‎متد هاي ترسيمي ـDrawing Methods

‎سه متد ترسيمي مستقيم در رويCanvas وجود دارد .

‎متد ‎شرح
fillRect() ‎يك مستطيل توپر رسم ميكند.
strokeRect() ‎مستطيل توخالي ترسيم ميكند.
clearRect() ‎پيكسل هاي مشخص شده دريك مستطيل را پاك ميكند.

‎متدهاي مسير ـPath Methods

‎متدهاي مسير درجدول زير همراه با لينك تشريح آنها.

‎متد مسير ‎شرح
beginPath() ‎شروع مسير جديد يا بازيابي مسيرجاري
closePath() ‎يك خط بمسير از نقطه فعلي تاشروع اضافه ميكند.
isPointInPath() ‎درصورت نقطه مشخص شده درمسيرباشد،مقدارtrue رگشت ميشود .
moveTo() ‎مسير را به نقطه اي دربوم بدون ترسيم انتقال ميدهد.
lineTo() ‎يك خط به مسير اضافه ميكند.
fill() ‎مسير فعلي را پرميكند.
rect() ‎مستطيلي به مسير اضافه ميكند.
stroke() ‎مسير جاري راترسيم ميكند.
bezierCurveTo() ‎يك منحني بزيه درچه سه به مسير اصافه ميكند.
arc() ‎يك قوس يامنحني‎)‎ دايره وياقسمتي از دايره‎‎رابه مسيراصافه ميكند
arcTo() ‎يك قوس يامنحني بين دومماس، به مسير اضافه ميكند.
quadraticCurvTo() ‎يك منحني درجه دوم بزيه به مسير اضافه ميكند.

‎متد و ويژگي هاي متني

‎متد يا ويژگي ‎شرح
direction ‎مقدار ويژگيdirection راتنظيم ويابرگشت ميدهد .
fillText() ‎متن را روي بوم ترسيم و پرميكند.
font ‎ويژگي فونت متني رابراي شئcontext تنظيم ويا برگشت ميدهد .
measureText() ‎شئي رابرميگرداند كه شامل عرض متن مشحض شده است.
strokeText() ‎ترسيم متن روي بوم
textAlign ‎تراز را براي محتوي متني تنظيم ويا برگشت ميدهد.
textBaseline ‎خط مبناي متن مورد استفاده درهنگام ترسيم را تنظيم ويا برگشت ميدهد.

‎رنگ ها ، سبك ها وسايه ها ـColors,Styles, and Shadows

‎خلاصه متدها وويژگي هاي بخش فوق در جدول زير آمده است .تشريح كامل آنها در لينك Colors,Styles , Shadows ‎آمده است .لينك هر رديف جدول، بخش داخلي همين آدرس ا.ست.

‎متد يا ويژگي ‎شرح
addColorStop() ‎رنگ ها و موقعيت توقف را در يك شئ گراديان مشخص ميكند.
createLinearGradient() ‎براي استفاده در محتوي بوم، يك گراديان خطي ايجاد ميكند.
createPattern() ‎يك عنصر مشخص شده را در يك جهت معين ، تكرار ميكند.
createRadialGradient() ‎يك گراديان شعاعي‎/‎ دايره اي،ايجاد ميكند‎).‎براي استفاده در محتوي ‎بوم‎(
fillStyle ‎رنگ، گراديان والگوي مورد استفاده براي پركردن نقاشي راتنظيم ويا برگشت ميدهد.
lineCap ‎سبك سرپوشهاي انتهائي يك خط را تنظيم ويابرگشت ميدهد.
lineJoin ‎وقتي دو خط به هم وصل ميشوند، نوع گوشه اتصال راتنظيم ويابرگشت ميدهد.
lineWidth ‎عرض خط فعلي را تنظيم ويا برگشت ميدهد.
miterLimit ‎حد اكثر طول ميتر‎(miter)‎ رابرگشت ويا تنظيم ميكند .
shadowBlur ‎سطح تاري سايه ها را تنظيم ويابرگشت ميدهد.
shadowColor ‎رنگ را براي استفاده در سايه ها را تنظيم ويابرگشت ميدهد.
shadowOffsetX ‎فاصله افقي سايه را از شكل ، تنظيم ويا برگشت ميدهد.
shadowOffsetY ‎فاصله عمودي سايه را از شكل ، تنظيم ويا برگشت ميدهد.
strokeStyle ‎رنگ ، گراديان ويا الگو را براي ترسيم، تنطيم ويا برگشت ميدهد.

‎تبديلات ـTransformations

‎متد ‎شرح
scale() ‎ترسيم فعلي را بزرگتر يا كوچكتر مبكند
rotate() ‎ترسيم فعلي را مي چرخاند.
translate() ‎موقعيت‎(0,0)‎ روي بوم را دوباره ترسيم ميكند .
transform() ‎جانشين ميكند ماتريس فعلي تبديل را براي ترسيم.
setTransform() ‎ماتريس تبديل با اين متد بازنشاني‎(reset)‎ ميشود .
‎اين ماتريس مبناي شروع ويا ادامه است.

‎ترسيم تصوير ـImage Drawing

‎متد ها و ويژگي تصويري روي عنصر بوم مطابق جدول زيراست.

‎متد يا ويژگي ‎شرح
drawImage() ‎تصوير، ويدئو و يا بوم را دريك بوم ترسيم ميكند.
createImageData() ‎يك شئ جديد وخاليImageData ايجاد ميكند.
getImageData() ‎يك شئImageData رابرگشت ميدهد، و داده هاي پيكسلي براي مستطيل بوم كپي ميشود.
ImageData.data ‎شئي را برگشت ميدهد كه حاوي داده هاي تصويري يك شئImageData مشخص شده است.
ImageData.height ‎ارتفاع يك شئImageData رابرگشت ميدهد.
ImageData.width ‎عرض يك شئImageData رابرگشت ميدهد.
putImageData() ‎داده هاي تصويري از شئImageData مشخص را برروي بوم برميگرداند.

‎تركيب كردن ـComposting

‎ويژگي ‎شرح
globalAlpha ‎مقدار شفافيت‎(Alpha)‎ فعلي نقاشي را تنظيم ويابرگشت ميدهد .
globalCompositeOperation ‎نحوه ترسيم يك تصوير جديد بر روي يك تصوير موجود را تنظيم ويا برگشت ميدهد.

‎ساير متدها ـOther Methods

‎متد ‎شرح
clip() ‎ناحيه اي به هر شكل واندازه را ازبوم اصلي جدا ميكند.
save() ‎وضعيت شئcontext فعلي وتمام ويژگي هاي آن راذخيزه ميكند.
restore() ‎ذخيره شده قبلي رابازيابي ميكند.
createEvent() ‎يك شئ رويدادي ايجاد ميكند.
getContext() ‎شئ دو بعدي براي ترسيم در بوم ايجاد ميكند
toDateURL()

Previous >    <Next