2010-07-20 32 views
6

tôi init canvas của tôi như thế này:làm thế nào để thay đổi kích thước của html5 vải mà không có nó rộng nội dung

<canvas id="canvasDiv" width="20" height="20"></canvas> 

và đâu đó trong đoạn code tôi muốn thay đổi kích thước đó là kích thước cuối cùng:

var canvas = document.getElementById("canvasDiv"); 
canvas.style.width = 200; 
canvas.style.height = 100; 

Tuy nhiên, bất kỳ pixel nào tôi vẽ trên canvas của tôi đều được chia tỷ lệ (vì vậy nó không còn 1 pixel nữa).

Làm cách nào để thay đổi kích thước của canvas mà không có hiệu ứng mở rộng này? (Vì vậy, lập trình)

Trả lời

15

Tôi nghĩ rằng bạn chỉ cũng cần phải thiết lập các thuộc chiều rộng & chiều cao của nó:

canvas.width = 200; 
canvas.height = 100; 
+0

wow ... Tôi thực sự đã kiểm tra một số tài liệu tham khảo DOM trực tuyến để xem các thuộc tính của các nguyên tố dom, và chiều rộng và chiều cao không có trên đó. Các ví dụ khác sử dụng thủ thuật kiểu này. Đó là lý do tại sao tôi đã sử dụng cú pháp đó – Toad

+0

Có thực sự là hướng dẫn tham chiếu chính thức/css chính thức/không? Tôi đã kiện điều này nhưng dường như nó chưa hoàn chỉnh: http://www.javascriptkit.com/domref/elementproperties.shtml – Toad

+0

Thông số chính thức cho thẻ canvas là tại http://www.whatwg.org/specs/web- apps/current-work/multipage/the-canvas-element.html – sunetos

Các vấn đề liên quan