2012-03-15 78 views
1

讓我說我有x,y,寬度和高度。我需要以特定角度繪製傾斜/傾斜的矩形。我無法使用context.rotate。因爲它正在改變其他形狀的帆布。如何在HTML 5畫布中繪製傾斜的矩形?

+0

http://tulrich.com/geekstuff/canvas/perspective.html – CraigTP 2012-03-15 11:21:41

+0

能否請你告訴我的代碼? – user960567 2012-03-15 11:26:06

+1

您可以通過查看頁面源代碼(HTML)以及鏈接的[jsgl.js](http://tulrich.com/geekstuff/canvas/jsgl.js)文件來查看代碼。 – CraigTP 2012-03-15 11:51:05

回答

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 2012-03-15 11:23:20

+1

@ user960567然後你忽略了「畫布」的工作方式 – robertc 2012-03-15 11:25:48

+0

我知道畫布是如何工作的。但是我需要傾斜重新調整的新座標。 – user960567 2012-03-15 11:26:50