سؤال

ولدي علامة قماش، واستخدمه رسم خطوط على ذلك، قماش هو مربع. يمكنني استخدام "مساحة" لتسجيل المسافة بين سطرين. ولدي canvasWidth وcanvasHight لتسجيل حجم قماش، في الواقع، هم نفس numnber .... 320

        var x=0;
        for (var i = 0; i < 5; i++) {
            x = parseInt(x + space);

            myCanvas.fillStyle = "rgb(200,0,0)";
            myCanvas.fillRect(x, 1, 1, canvasHeight);
            myCanvas.fillStyle = "rgb(0,200,0)";
            myCanvas.fillRect(1, x, canvasWidth, 1);

        }

ويمكنني استخدام رسم كل الخطوط الحمراء على قماش، ولكن خطوط خضراء يمكن إلا أن التعادل مرتين على القماش، وغيرها فقط لا يمكن أن تظهر، اعتدت محاولة {} الصيد، وأنها تختفي أي خطأ.

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

المحلول

ما المتصفح الذي تستخدمه؟

ولا يبدو أن المشكلة تكون في الرمز الذي اظهرنا، لأنه يعمل بشكل جيد بالنسبة لي.

وهنا هو بلدي على سبيل المثال أتش تي أم أل:

<!DOCTYPE html>
<html>
<body>
<canvas id="myCanvas" height="320" width="320" />

<script language="javascript">
var myCanvas = document.getElementById('myCanvas').getContext('2d');
var space = 10;
var x=0;
var canvasHeight = 320;
var canvasWidth = 320;
for (var i = 0; i < 5; i++) {
    x = parseInt(x + space);

    myCanvas.fillStyle = "rgb(200,0,0)";
    myCanvas.fillRect(x, 1, 1, canvasHeight);
    myCanvas.fillStyle = "rgb(0,200,0)";
    myCanvas.fillRect(1, x, canvasWidth, 1);

}
</script>

</body>
</html>

نصائح أخرى

لماذا تستخدمون parseInt، هو متغير الفضاء الخاص بك ونوع من الخيط؟ إن لم يكن، في محاولة لإزالة parseInt.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top