سؤال

انا لدي مشكلة.أحتاج إلى رسم حدود أخرى في لوحتي القماشية.إذا حاولت هذا:

c2.beginPath();

c2.moveTo(0, 0);

c2.lineTo(0, 100);
c2.lineWidth = Number(sw) + 6;
c2.strokeStyle = "red";
c2.stroke();
c2.lineTo(100, 100);
c2.lineWidth = Number(sw) + 6;
c2.strokeStyle = "#00ec11";
c2.stroke();
c2.lineTo(0, 100);
c2.lineWidth = Number(ss) + 6;
c2.strokeStyle = "red";
c2.stroke();
c2.closePath();
c2.lineWidth = Number(sw) + 6;
c2.strokeStyle = "#00ec11";
c2.stroke();

c2.fill();

لا يعمل لأن كل الخطوط لها حدود خضراء.هل بإمكانك مساعدتي؟

--- يحرر:لا أستطيع إغلاق التصحيح عند إغلاق خطي لأن هذا الخط يرسم الشكل.عندما أقوم بإغلاق التصحيح، فإن شكلي غير صحيح.ربما أفكار أخرى؟

هل كانت مفيدة؟

المحلول

c2.stroke(); يعيد رسم المسار بالكامل حتى تلك النقطة باستخدام نمط السكتة الدماغية الحالي.لذلك في النهاية، سيتم تطبيق النمط الأخير فقط.

حاول إضافة c2.closePath(); تليها c2.beginPath() بعد كل c2.stroke() لبدء مسار جديد يمكن أن يكون له نمط سكتة دماغية منفصل.

على سبيل المثال:

c2.lineTo(0, 100);
c2.lineWidth = Number(sw) + 6;
c2.strokeStyle = "red";
c2.stroke();
c2.closePath();

c2.beginPath();
c2.moveTo(0, 100);
c2.lineTo(100, 100);
c2.lineWidth = Number(sw) + 6;
c2.strokeStyle = "#00ec11";
c2.stroke();
c2.closePath();
. 
. 
.
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top