আমি মোট am n00b সঙ্গে HTML5
সঙ্গে কাজ করছি canvas
রেন্ডার করতে আকৃতি, রং, এবং টেক্সট। আমার অ্যাপ্লিকেশনে, আমার কাছে একটি ভিউ অ্যাডাপ্টার রয়েছে যা গতিশীল ক্যানভাস তৈরি করে এবং এটি সামগ্রী দিয়ে পূরণ করে। আমার পাঠ্যটি খুব अस्पष्ट / অস্পষ্ট / প্রসারিত ব্যতীত এটি সত্যিই দুর্দান্ত কাজ করে। আমি কেন সংজ্ঞা অন্যান্য পোস্টের মধ্যে অনেক দেখেছি প্রস্থ এবং উচ্চতা মধ্যে CSS
এই সমস্যা সৃষ্টি হবে, কিন্তু আমি এটা সব সংজ্ঞায়িত javascript
।
প্রাসঙ্গিক কোড ( ফিডল দেখুন ):
var width = 500;//FIXME:size.w;
var height = 500;//FIXME:size.h;
var canvas = document.createElement("canvas");
//canvas.className="singleUserCanvas";
canvas.width=width;
canvas.height=height;
canvas.border = "3px solid #999999";
canvas.bgcolor = "#999999";
canvas.margin = "(0, 2%, 0, 2%)";
var context = canvas.getContext("2d");
//////////////////
//// SHAPES ////
//////////////////
var left = 0;
//draw zone 1 rect
context.fillStyle = "#8bacbe";
context.fillRect(0, (canvas.height*5/6)+1, canvas.width*1.5/8.5, canvas.height*1/6);
left = left + canvas.width*1.5/8.5;
//draw zone 2 rect
context.fillStyle = "#ffe381";
context.fillRect(left+1, (canvas.height*5/6)+1, canvas.width*2.75/8.5, canvas.height*1/6);
left = left + canvas.width*2.75/8.5 + 1;
//draw zone 3 rect
context.fillStyle = "#fbbd36";
context.fillRect(left+1, (canvas.height*5/6)+1, canvas.width*1.25/8.5, canvas.height*1/6);
left = left + canvas.width*1.25/8.5;
//draw target zone rect
context.fillStyle = "#004880";
context.fillRect(left+1, (canvas.height*5/6)+1, canvas.width*0.25/8.5, canvas.height*1/6);
left = left + canvas.width*0.25/8.5;
//draw zone 4 rect
context.fillStyle = "#f8961d";
context.fillRect(left+1, (canvas.height*5/6)+1, canvas.width*1.25/8.5, canvas.height*1/6);
left = left + canvas.width*1.25/8.5 + 1;
//draw zone 5 rect
context.fillStyle = "#8a1002";
context.fillRect(left+1, (canvas.height*5/6)+1, canvas.width-left, canvas.height*1/6);
////////////////
//// TEXT ////
////////////////
//user name
context.fillStyle = "black";
context.font = "bold 18px sans-serif";
context.textAlign = 'right';
context.fillText("User Name", canvas.width, canvas.height*.05);
//AT:
context.font = "bold 12px sans-serif";
context.fillText("AT: 140", canvas.width, canvas.height*.1);
//AB:
context.fillText("AB: 94", canvas.width, canvas.height*.15);
//this part is done after the callback from the view adapter, but is relevant here to add the view back into the layout.
var parent = document.getElementById("layout-content");
parent.appendChild(canvas);
<div id="layout-content"></div>
আমি যে ফলাফলগুলি দেখছি ( সাফারিতে ) ফিডল দেখানো তার চেয়ে অনেক বেশি স্কঙ্কযুক্ত:
আমার
ফিডল
আমি কী ভুল করছি? প্রতিটি পাঠ্যের উপাদানগুলির জন্য আমার কি আলাদা ক্যানভাস দরকার? এটা কি ফন্ট? আমার কি প্রথমে HTML5 লেআউটে ক্যানভাসটি সংজ্ঞায়িত করতে হবে? টাইপো আছে? আমি হারিয়ে গেলাম।
clearRect
।