フロートされた傾斜したイメージ キャンバスの描画を作成するには、for ループを作成する必要があります。最初の描画は問題ありませんが、古い描画が終了したところから別の描画が開始されます。clearPath() を使用して古い座標をクリアしていますが、機能していません。
これが私のコードです:
function draw(){
var ctx = $('#canvas')[0].getContext('2d');
var $width = $('#canvas').parent().width();
var $canvas_width = 380;
var $canvas_margin = 15;
var $canvas_height = 810;
var $total_draw = $width / Math.ceil($canvas_width);
var $start = 0;
for(var $i = 1; $i <= 2; $i++){
ctx.beginPath();
ctx.moveTo($start,0);
ctx.lineTo($canvas_width,0);
ctx.lineTo($start,$canvas_height);
ctx.lineTo(Math.abs($canvas_width) * -1,$canvas_height);
ctx.lineTo($start,0);
ctx.stroke();
ctx.closePath();
$start += ($canvas_width + $canvas_margin);
}
}
編集
私の間違いです。計算ミスをしていました。数時間の制御時間の後、計算を修正しました。
このサンプルは機能しています。
function draw(){
var ctx = $('#canvas')[0].getContext('2d');
var $width = $('#canvas').parent().width();
var $canvas_width = 380;
var $canvas_margin = 20;
var $canvas_height = 810;
var $total_draw = $width / Math.ceil($canvas_width);
var $start = 0;
for(var i = 1; i <= $total_draw + 1; i++){
ctx.beginPath();
ctx.moveTo($start,0);
ctx.lineTo($start + $canvas_width,0);
ctx.lineTo($start, $canvas_height);
ctx.lineTo(-380 + $start, $canvas_height);
ctx.lineTo($start,0);
ctx.stroke();
ctx.closePath();
$start = $start + ($canvas_width + $canvas_margin);
}
}