javascript - طعام - اعراض الجلطة الدماغية عند النساء



HTML5 قماش السكتة الدماغية() سميكة وغامضة (5)

إن مشكلة تغيير حجم css المذكورة في هذه التعليقات صحيحة ، ولكن شيء آخر أكثر دقة يمكنه أن يسبب عدم وضوح الخطوط هو نسيان استدعاء إجراء مكالمة إلى context.beginPath() قبل رسم خط. بدون استدعاء هذا ، ستستمر في الحصول على خط ، ولكن لن يتم تسريحه مما يجعل الخط يبدو كسلسلة من الخطوات.

أحاول السماح للمستخدم برسم مستطيل على اللوحة (مثل مربع التحديد). أحصل على بعض النتائج السخيفة ، ولكن بعد ذلك لاحظت أنه حتى مجرد تجربة الشفرة من مرجعي here ، أحصل على خطوط ضبابية ضخمة ولا أعرف السبب.

تمت استضافته على dylanstestserver.com/drawcss . جافا سكريبت مضمنة حتى تتمكن من التحقق من ذلك. أنا أستخدم jQuery لتبسيط الحصول على إحداثيات الماوس.


الطريقة التي أقوم بها هي تعيين عنصر لوحة العرض إلى عرض وارتفاع في css ، ثم تعيين canvas.width = canvas.clientWidth و canvas.height = canvas.clientHeight

var canvas =  document.getElementById("myCanvas");
canvas.width = canvas.clientWidth;
canvas.height = canvas.clientHeight;
var context = canvas.getContext("2d");

على شاشات شبكية العين أنت بحاجة أيضا إلى مقياس (بالإضافة إلى الإجابة المقبولة):

var context = canvas.getContext('2d');
context.scale(2,2);

لقد وجدت سبب لغم ضئيل أنه كان هناك اختلاف طفيف بين العرض المضمن وعرض CSS.

لدي معلمات عرض / ارتفاع مضمنة وعرض css / height معيّنة في لوح الرسم الخاص بي ، لأنني بحاجة للحفاظ على أبعادها الفعلية ثابتة ، مع زيادة الأبعاد المضمنة لشاشات شبكية العين.

تحقق لك هي نفسها إذا كان لديك مثل وضع لي.


لسبب ما ، تمدد قماشك. نظرًا لأنه قد تم تعيين width الخاصية css إلى 100% ، فإنه يتم توسيعه من نوع ما من الحجم الأصلي. إنه الفرق بين استخدام خاصية width css وسمة width على علامة <canvas> . قد ترغب في تجربة استخدام بعض javascript لجعله ملئًا لإطار العرض ( راجع jQuery .width () ):

jQuery(document).ready(function(){
    var canvas = document.getElementById('drawing');
    canvas.width(($(window).width()).height($(window).height());
    var context = canvas.getContext('2d');
    //...




stroke