موضوع دالة DOM للشاشة
يحدد عنصر <canvas> منطقة الصورة الرقمية في صفحة HTML.
يُمكّن API Canvas من رسم الرسومات على اللوحة.
يستطيع API Canvas رسم الأشكال، الخطوط، الدوائر، المربعات، النصوص والصور، بالإضافة إلى الألوان، الدوران، الشفافية وأعمال البكسل الأخرى.
إضافة Canvas إلى HTML
يمكنك استخدام علامة <canvas> لدمج عنصر canvas في أي مكان في صفحة HTML:
مثال
<canvas id="myCanvas" width="300" height="150"></canvas>
كيفية الوصول إلى عنصر Canvas
يمكنك استخدام طريقة DOM HTML getElementById() لتحديد عنصر <canvas>:
const myCanvas = document.getElementById("myCanvas");
لرسم على الورق، يجب إنشاء object 2D context:
const ctx = myCanvas.getContext("2d");
ملاحظة
لا يحتوي element HTML <canvas> على وظيفة الرسم.
يجب استخدام JavaScript لرسم أي شكل.
يُرجع method getContext() object يحتوي على أدوات الرسم (methods).
رسم على الورق
بعد إنشاء object 2D context، يمكنك رسم على الورق.
تُرسم في method 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);
يمكنك أيضًا استخدام method 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() | إذا كان النقطة المحددة في المسار الحالي، فإنه يعود إلى الحقيقة، وإلا يعود إلى الزائف. |
تحويل
الطريقة | وصف |
---|---|
scale() | تكبير أو تصغير الشكل الحالي. |
rotate() | تدوير الشكل الحالي. |
translate() | إعادة توجيه موقع (0,0) على لوحة الرسم. |
transform() | استبدال مصفوفة التحويل الحالية لل رسم. |
setTransform() | استعادة التحويل الحالي إلى مصفوفة وحدة. ثم تشغيل transform(). |
نص
خصائص | وصف |
---|---|
font | تعيين أو استرداد خصائص الخط الحالية لتوقيع المحتوى النصي. |
textAlign | تعيين أو استرداد طريقة التشذيب الحالية لتوقيع المحتوى النصي. |
textBaseline | تعيين أو العودة إلى الأساس الحالي للنص عند الرسم. |
الطريقة | وصف |
---|---|
fillText() | رسم نص "ملون" على كanvas. |
strokeText() | رسم النص على كanvas (بدون تعبئة). |
measureText() | العودة إلى عمود البيانات الذي يحتوي على عرض النص المحدد. |
رسم الصورة
الطريقة | وصف |
---|---|
drawImage() | رسم الصورة على كanvas أو كanvas أو الفيديو. |
عمليات معالجة البكسل
خصائص | وصف |
---|---|
عرض | العودة إلى عرض عمود البيانات ImageData. |
ارتفاع | العودة إلى ارتفاع عمود البيانات ImageData. |
بيانات | العودة إلى عمود البيانات الذي يحتوي على بيانات الصورة المحددة. |
الطريقة | وصف |
---|---|
createImageData() | إنشاء عمود بيانات ImageData جديداً. |
getImageData() | العودة إلى عمود البيانات ImageData، الذي يحتوي على بيانات الصورة المحددة. |
putImageData() | وضع بيانات الصورة (من ImageData المحدد) مرة أخرى على كanvas. |
الدمج
خصائص | وصف |
---|---|
globalAlpha | تعيين أو العودة إلى قيمة الشفافية الحالية للرسم. |
globalCompositeOperation | تعيين أو العودة إلى كيفية رسم الصورة الجديدة على الصورة الحالية. |
أخرى
الطريقة | وصف |
---|---|
save() | حفظ حالة السياق الحالية. |
restore() | استعادة الحالة والخصائص المسبقة للمنحنى. |
createEvent() | |
getContext() | |
toDataURL() |
الصفحات ذات الصلة
دليل HTML:كanvas HTML5
دليل صور HTML:دليل كanvas HTML
دليل HTML:علامة <canvas> في HTML