2012-03-15 18 views
1

私はx、y、幅と高さを持っているとしましょう。特定の角度で傾斜/傾斜した矩形を描画する必要があります。私はcontext.rotateを使うことはできません。それはキャンバスの他の形を変えているからです。Html 5キャンバスで傾斜した長方形を描画する方法?

+0

http://tulrich.com/geekstuff/canvas/perspective.html – CraigTP

+0

あなたは私のコードを示していただけますか? – user960567

+1

リンク先の[jsgl.js](http://tulrich.com/geekstuff/canvas/jsgl.js)ファイルとともに、ページのソース(HTML)を表示することでコードを確認できます。 – CraigTP

答えて

1

context.rotateを使用できます。他の図形を描画する前に回転を元に戻すだけで済みます。 Like this

var canvas = document.getElementById("mycanvas"); 
var context = canvas.getContext("2d"); 

context.beginPath(); 
context.rect(88, 50, 200, 100); 
context.fillStyle = "#8ED6FF"; 
context.fill(); 
context.lineWidth = 5; 
context.strokeStyle = "black"; 
context.stroke(); 

context.rotate(0.5); 
context.beginPath(); 
context.rect(138, 120, 200, 100); 
context.fillStyle = "#FE8E9D"; 
context.fill(); 
context.lineWidth = 5; 
context.strokeStyle = "black"; 
context.stroke(); 

context.rotate(-0.5); 
context.beginPath(); 
context.rect(188, 190, 200, 100); 
context.fillStyle = "#FEEF8E"; 
context.fill(); 
context.lineWidth = 5; 
context.strokeStyle = "black"; 
context.stroke(); 
+0

残念ながら、キャンバスにはたくさんのオブジェクトがあります。私はこれを変更することはできません。私は矩形を回転させるだけです。 context.rotateはキャンバス内のすべてのオブジェクトを妨害しています – user960567

+1

@ user960567 'キャンバスの仕組みを無視しています – robertc

+0

キャンバスの仕組みを知っています。しかし、私は傾いた絡み合いの新しい座標が必要です。 – user960567

関連する問題