मैं एचटीएमएल 5 और कैनवास के बारे में एक पुस्तक पढ़ रहा हूं, निम्नलिखित कोड 1-पिक्सेल मोटी रेखाएं उत्पन्न करेगा ... यह समन्वय के रूप में 0.5 का उपयोग करता है। यदि यह 0 या 10, या कुछ पूर्णांक में बदल दिया गया है, तो रेखाएं ग्रे हो जाएंगी, और 2-पिक्सेल मोटी हो जाएगी। ऐसा क्यों है? मैंने हाल ही में देखा है कि अजीब बात ... एप्पल या Win32 एपीआई से पहले सभी प्रोग्रामिंग, वे पूर्णांक निर्देशांक द्वारा जाते हैं।एचटीएमएल 5 में, कैनवास पर 1-पिक्सेल मोटी रेखा प्राप्त करने के लिए (0.5, 0) से (0.5, 600) तक खींचे। 0.5 अजीब है?
<!DOCTYPE html>
<body>
<canvas id="c" width="800" height="600"></canvas>
</body>
<script>
var c_canvas = document.getElementById("c")
var context = c_canvas.getContext("2d")
for (x = 0.5; x < 500; x += 10) {
context.moveTo(x, 0)
context.lineTo(x, 375)
}
context.strokeStyle = "#000"
context.stroke()
</script>
एक और अजीब बात है, 1 पिक्सेल काले बिंदु से 1 पिक्सेल प्राप्त करने के लिए, मैं एक्स के लिए 0.5 पर आकर्षित करने के लिए है, लेकिन y
for (x = 0.5; x < 500; x += 10) {
context.moveTo(x, 0)
context.lineTo(x, 1)
}
के लिए पूर्णांकों का उपयोग करता है, तो मैं निम्नलिखित का उपयोग करें, तो मैं एक ग्रे, "अब डॉट"
for (x = 0.5; x < 500; x += 10) {
context.moveTo(x, 0.5)
context.lineTo(x, 1.5)
}
+1 - लिंक कुछ अच्छे आरेखों के साथ सबसे अच्छा स्पष्टीकरण है। – Castrohenge
यह लिंक समस्या और समाधान की व्याख्या करता है। –
लिंक अब टूटा हुआ है – streppel