Tôi có phần tử canvas và tôi muốn giảm kích thước của nó xuống nhưng không thay đổi logic js. Không gian bản vẽ theo j luôn phải là 600x300px, ngay cả khi nó được hiển thị bằng HTML dưới dạng 300x150px. Tôi biết, tôi có thể thay đổi kích thước hình ảnh với độ phân giải tĩnh, nhưng tôi có thể làm tương tự với canvas không?Chia tỷ lệ phần tử canvas với độ phân giải tĩnh
Trả lời
Thay đổi kích thước sử dụng CSS quy mô nó
Vì vậy, về cơ bản bạn thiết lập kích thước của nó cho các đối tượng vẽ, vv, qua width
và height
thuộc tính như vậy
var canvas = document.getElementById("canvas"),
ctx = canvas.getContext("2d");
canvas.width = 600;
canvas.height = 300;
và sau đó thay đổi kích thước được hiển thị bằng css
#canvas{
width: 300px;
height: 150px;
}
Loktar có một cách, sử dụng CSS, nhưng điều đó có thể khiến một số thứ trông buồn cười. Ví dụ, các đường dẫn được chia tỷ lệ bằng cách sử dụng CSS và được chia tỷ lệ bằng cách sử dụng biến đổi riêng của canvas có thể trông rất khác (với CSS trông có vẻ xấu và các khung hình trông mịn). Điều này phụ thuộc vào trình duyệt mặc dù và có thể là hoàn toàn tốt đẹp. Trên chrome ít nhất, văn bản thu nhỏ theo cách này trông rất tệ.
Thay vào đó tôi khuyên bạn nên nhìn vào những gì tôi đã viết ở đây về khái niệm "mô hình" phối: Working with canvas in different screen sizes
Viết tất cả mọi thứ như thể không gian vẽ là 600x300, nhưng giữ một tấm vải đó là 300x150.
Trước khi vẽ bất kỳ thứ gì sử dụng ctx.scale(0.5, 0.5);
và mọi thứ sẽ trông tuyệt vời!
Hoàn toàn có thể sau khi tất cả viết một ứng dụng canvas và nó có quy mô cho tất cả các loại màn hình, ngay cả khi bạn chỉ nhắm mục tiêu một kích thước màn hình.
- 1. Tỷ lệ màn hình chia tỷ lệ canvas của Android
- 2. Chrome 21 phần tử chia tỷ lệ trong khi xoay
- 3. Chia tỷ lệ canvas và giữ trung tâm
- 4. Chia tỷ lệ chín phần SVG
- 5. Chia tỷ lệ và phân cụm JPA
- 6. Vẽ bitmap được chia tỷ lệ cho canvas?
- 7. Sử dụng chuyển đổi CSS hoặc javascript để chia tỷ lệ phần tử để phù hợp với phần tử động
- 8. Cách lấy kích thước được chia tỷ lệ của phần tử Hình ảnh WPF
- 9. Cách chia tỷ lệ trò chơi trên Android
- 10. Tính tỷ lệ phần trăm tiến độ
- 11. Tính tỷ lệ phần trăm tiến độ
- 12. Chia tỷ lệ Drupal
- 13. Tỷ lệ chia tỷ lệ trong hình ảnh Android?
- 14. NodeJS chia tỷ lệ ngang
- 15. Hoạt ảnh UIVIew - Chia tỷ lệ + Dịch
- 16. Android WebView không tôn trọng tỷ lệ phần trăm chia tỷ lệ
- 17. Chiều rộng tỷ lệ phần tử theo tỷ lệ trong LinearLayout
- 18. jQuery-UI Có thể thay đổi kích thước: chia tỷ lệ tất cả các phần tử cũngRizeize theo tỷ lệ với div
- 19. Vị trí thập phân trong tỷ lệ phần trăm CSS
- 20. Chia tỷ lệ phần tử đối tượng theo chiều rộng thành chiều rộng + không đổi với CSS
- 21. Đồng thời xoay, dịch và chia tỷ lệ bitmap trong canvas android
- 22. Tỷ lệ lỗi phần mềm nhúng
- 23. Chia tỷ lệ nhiều đường dẫn với raphael
- 24. Nhân viên web và chia tỷ lệ hình ảnh
- 25. Chia tỷ lệ hình ảnh theo tỷ lệ trong CSS với chiều rộng tối đa
- 26. Kích thước và độ phân giải Canvas HTML5
- 27. image Chia tỷ lệ hình ảnh hộp
- 28. Làm cách nào để có chiều rộng của phần tử SVG được chia tỷ lệ với JavaScript?
- 29. Tôi làm cách nào để chia tỷ lệ BufferedImage
- 30. Phân chia và chia tỷ lệ hình ảnh và hình ảnh
Ah tốt đẹp quên tất cả về 'scale': P – Loktar
Cảm ơn, nhưng giải pháp @Loktar phù hợp tốt trong trường hợp của tôi :). – ciembor