2013-03-23 61 views
5

Ứng dụng cho phép người dùng lưu thiết kế và đăng lên để người dùng khác có thể xem sau.Thay đổi kích cỡ khung hình bằng vải js

Canvas gốc được lưu với tỷ lệ chiều rộng = 700 và chiều cao = 600. Nhưng khi hiển thị canvas, tôi muốn thay đổi kích thước khung hình để vừa với kích thước của (350,300). một nửa bản gốc. Nhưng nếu tôi trực tiếp áp dụng các kích thước và chiều rộng tải setWidth() và setHeight() nó tải với tỷ lệ ban đầu.

Tất cả những gì tôi muốn là hiển thị canvas có kích thước mới.

+8

Đây là nhất chắc chắn KHÔNG phải là một trùng lặp, vì điều này liên quan đến fabric.js –

+0

Mặc dù đó là trường hợp, giải pháp đã được nhiều hơn một chung chung. Các giải pháp không liên quan đến bất cứ điều gì cụ thể cho fabricJS. Vì vậy, tôi sẽ không tranh cãi. – Rohan210

Trả lời

-2

Trước đây đã trả lời here.

Tôi không chắc chắn những gì bạn đã cố gắng, nhưng

var canvas = document.getElementsByTagName('canvas')[0]; 
canvas.width = 800; 
canvas.height = 600; 

nên hoạt động tốt.

+0

Whoa !!! Điều đó hiệu quả. Cảm ơn một tấn – Rohan210

+5

Điều này sẽ không hoạt động trên vải.Canvas –

38

Nếu bạn đang sử dụng thư viện fabric.js, điều đó là không đủ.

Xét rằng 'vải' là đối tượng fabric.js Ví dụ, bạn nên làm điều này để tránh hiện vật distorsion:

canvas.setWidth(<desired width>); 
canvas.setHeight(<desired height>); 
canvas.calcOffset(); 
+0

Đây phải là câu trả lời được chấp nhận –