এটি অদ্ভুত বলে মনে হয় তবে এইচটিএমএল 5 অঙ্কন লাইন, বৃত্ত, আয়তক্ষেত্র এবং অন্যান্য অনেকগুলি মৌলিক আকারগুলিকে সমর্থন করে, এটিতে মূল বিন্দু আঁকার উপযুক্ত কিছু নেই। এটি করার একমাত্র উপায় হ'ল আপনার যা কিছু আছে তার সাথে বিন্দুটি অনুকরণ করা।
সুতরাং মূলত 3 টি সম্ভাব্য সমাধান রয়েছে:
- একটি লাইন হিসাবে বিন্দু আঁকুন
- বহুভুজ হিসাবে বিন্দু আঁকুন
- একটি বৃত্ত হিসাবে বিন্দু আঁকুন
তাদের প্রত্যেকের নিজস্ব ত্রুটি রয়েছে
লাইন
function point(x, y, canvas){
canvas.beginPath();
canvas.moveTo(x, y);
canvas.lineTo(x+1, y+1);
canvas.stroke();
}
মনে রাখবেন যে আমরা দক্ষিণ-পূর্ব দিকের দিকে আঁকছি, এবং এটি যদি প্রান্ত হয় তবে সমস্যা হতে পারে। তবে আপনি অন্য কোনও দিকেও আঁকতে পারেন।
আয়তক্ষেত্র
function point(x, y, canvas){
canvas.strokeRect(x,y,1,1);
}
বা দ্রুততরভাবে ফিলারেক্ট ব্যবহার করে কারণ রেন্ডার ইঞ্জিন কেবল একটি পিক্সেল পূরণ করবে।
function point(x, y, canvas){
canvas.fillRect(x,y,1,1);
}
বৃত্ত
চেনাশোনাগুলির সাথে অন্যতম সমস্যা হ'ল কোনও ইঞ্জিনকে রেন্ডার করা শক্ত
function point(x, y, canvas){
canvas.beginPath();
canvas.arc(x, y, 1, 0, 2 * Math.PI, true);
canvas.stroke();
}
আয়তক্ষেত্রের মতো একই ধারণাটি আপনি পূরণের মাধ্যমে অর্জন করতে পারেন।
function point(x, y, canvas){
canvas.beginPath();
canvas.arc(x, y, 1, 0, 2 * Math.PI, true);
canvas.fill();
}
এই সমস্ত সমাধানে সমস্যা:
- আপনি যে পয়েন্টগুলি আঁকতে যাচ্ছেন তার উপর নজর রাখা শক্ত।
- আপনি যখন জুম করবেন তখন দেখতে দেখতে কুশ্রী লাগবে।
আপনি যদি ভাবছেন, " বিন্দু আঁকার সর্বোত্তম উপায় কোনটি ? ", আমি পূর্ণ আয়তক্ষেত্র নিয়ে যাব। তুলনা পরীক্ষার সাথে আপনি এখানে আমার jsperf দেখতে পারেন ।