最大16個の四角形が描画されたキャンバスがあります。各ビットの長方形を描画します。
サーバーからこのバイナリ番号を受け取りました:100101101
(または301
、10進数)。
私はこのバイナリ(ビットごとに1つの矩形)に私の四角形を関連づけたいと思っています。0
である各ビットの各矩形を隠す必要があります(または、好きなように各ビットの矩形を描きます) 。
だから私のキャンバスに(私たちは100101101
を見れば)私が描かれた最初の矩形を持つことになり、その後、スペース、2つの以上の長方形、その後、別のスペースなど
私は私の頭をたくさん傷よ私はビット単位の操作とビットマスクにはまったく新しいものです。私はここに(まだ私のビットを操作するための機能なしで)私の基本コードはだ、私はこれをビット単位の演算とビットマスクを使用する必要があると思いますが、そうでないかもしれない...
:
\t \t //Referencing canvas
\t \t var canvas = document.getElementById("my-canvas");
\t \t var ctx = canvas.getContext("2d");
\t \t //Make Canvas fullscreen and responsive
\t function resize() {
\t \t \t canvas.width = window.innerWidth;
\t \t \t canvas.height = window.innerHeight;
\t \t }
\t \t window.addEventListener('resize', resize, false); resize();
\t \t
\t \t
\t \t //Default Y pos to center;
\t \t var yPos = canvas.height - 70;
\t \t //Default X position
\t \t var xPos = canvas.width/2.2;
\t \t var maxRectangles = 16;
\t function drawAllRectangles() {
\t \t \t //Position, size.
\t \t \t var rectWidth = 70;
\t \t \t var rectHeigth = 25;
\t \t \t var dy = rectHeigth + 15;
\t \t \t ctx.fillStyle = "yellow";
\t \t \t
\t \t \t var newPos = yPos;
\t var i;
\t for (i = 0; i < maxRectangles; i++) {
\t ctx.fillRect(xPos,newPos,rectWidth,rectHeigth);
\t newPos -= dy;
\t }
}
\t \t drawAllRectangles();
canvas {background-color: #131217}
body { margin: 0; overflow: hidden; }
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Draw Rect from bit</title>
</head>
<body>
<canvas id="my-canvas"></canvas>
</body>
</html>
役立つだろう:あなたはこれを使用することができますか? – clabe45
はい、彼はループを使用する必要があります私はちょうどバイナリとして値にアクセスする方法を彼に手がかりを与える –
ありがとう@FerhatBAŞ!本当に明確な説明、私はそこから始めよう! –