ارسم حدودًا أخرى على القماش
-
24-12-2019 - |
سؤال
انا لدي مشكلة.أحتاج إلى رسم حدود أخرى في لوحتي القماشية.إذا حاولت هذا:
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();
.
.
.
لا تنتمي إلى StackOverflow