<canvas> هو عنصر HTML يمكن رسمه باستخدام البرامج النصية (عادةً js)
< Canvas > تم تقديم WebKit لأول مرة بواسطة Apple وتم استخدامه في Dashboard وSafari لنظام التشغيل Mac OS X
اليوم، تدعمه جميع المتصفحات الرئيسية (IE9+، الإصدارات الأقل تحتاج إلى تقديم Explorer Canvas لدعمه)
1. ابدأ الرسم (سياق العرض)يقوم العنصر <canvas> بإنشاء لوحة قماشية ذات حجم ثابت يمكن استخدام سياق العرض CanvasRenderContext2D لرسم المحتوى المراد عرضه ومعالجته.
للرسم على القماش، يجب عليك أولاً الحصول على سياق العرض CanvasRenderContext2D2d. (يشير هذا إلى ثنائي الأبعاد، ولا يتحدث عن webgl)
const Canvas = document.getElementById('mycanvas'); const ctx = Canvas.getContext('2d');ctx.fillStyle = 'pink';ctx.fillRect(10, 10, 300, 300);
مثال
2. خصائص CanvasRenderContext2D:يمكنك تحديد نمط الرسم عن طريق تعيين خصائص السياق.
جميع الخصائص هي كما يلي:
ملكية | مقدمة |
---|---|
قماش | عنصر قماش |
fillStyle | اللون أو الوضع أو التدرج الحالي المستخدم لتعبئة المسار |
الخط | نمط الخط |
globalAlpha | يحدد عتامة المحتوى المرسوم على اللوحة القماشية |
globalCompositeOperation | تحديد كيفية دمج اللون مع الألوان الموجودة بالفعل على اللوحة القماشية (التركيب) |
lineCap | يحدد كيفية رسم نهايات الخط |
lineDashOffset | ضبط إزاحة الشرطة |
lineJoin | حدد كيفية توصيل خطين |
عرض الخط | يحدد عرض الخط لعمليات الفرشاة (رسم الخط). |
miterLimit | عندما تكون سمة lineJoin مائلة، تحدد هذه السمة الحد الأقصى لنسبة طول الصلة القطرية إلى عرض الخط. |
com.shadowBlur | مستوى تأثير طمس |
ShadowColor | لون الظل |
ShadowOffsetX | مسافة إزاحة الظل الأفقية |
ShadowOffsetY | مسافة الإزاحة العمودية للظل |
strokeStyle | الألوان والأوضاع والتدرجات لمسارات الفرشاة (الرسم). |
textAlign | محاذاة النص |
textBaseline | محاذاة النص عموديًا |
يجب تحديد عرض اللوحة القماشية وارتفاعها باستخدام قيمتي العرض والارتفاع.
إذا لم يتم تحديده، فإن الحجم الافتراضي للوحة القماشية هو 300×150
العرض والارتفاع المحددان بالنمط هما فقط حجم عرض عنصر اللوحة القماشية، وليس حجم بيئة الرسم.
قماش {العرض: 1000px;الارتفاع: 600px;<canvas id=mycanvas width=1000 height=600></canvas><canvas id=mycanvas1 width=500 height=300></canvas><canvas id=mycanvas2>< /canvas>...ctx.fillStyle = red;ctx.fillRect(10, 10, 100، 100)؛مثال العرض والارتفاع
لماذا يتم تعيين الأنماط على نفس الحجم ولكن يتم عرضها بشكل مختلف تمامًا؟
ما ورد أعلاه هو المحتوى الكامل لهذه المقالة وآمل أن يكون مفيدًا لدراسة الجميع وآمل أيضًا أن يدعم الجميع شبكة VeVb Wulin.