Làm cách nào để vô hiệu hóa hiệu ứng chống răng cưa trong mã sau? Tôi đang sử dụng Chrome 29.HTML5 canvas vô hiệu hóa antialias trên nguyên thủy (đường cong, ...)
var canvas = document.getElementById('test');
var context = canvas.getContext('2d');
// These lines don't change anything
context.mozImageSmoothingEnabled = false;
context.webkitImageSmoothingEnabled = false;
context.imageSmoothingEnabled = false;
context.beginPath();
context.arc(100, 100, 100, 0, Math.PI * 2, true);
context.closePath();
context.fillStyle = 'red';
context.fill();
câu hỏi này làm cho tôi nghĩ về điều này, mà tôi trả lời: http://stackoverflow.com/questions/14424648/nice-ellipse-on-a-canvas/14429346#14429346 Trong một vài từ: với một khá lớn hiệu suất hit, bạn có thể post-process vẽ hoặc tái thực hiện các nguyên thủy mà không antialiasing (khá một số công việc có thể), nhưng không có cách nào để làm cho nó thực hiện nhanh như vậy mà không antialiasing. – GameAlchemist
Khi tôi đang tạo một kịch bản đồ thị, tôi đã tìm thấy nếu bạn vẽ cùng một thứ 20 lần, các pixel chống răng cưa xếp chồng lên nhau để trở thành bí danh. Cách nhanh hơn là vẽ các hình dạng mong muốn trên bộ đệm hình ảnh, kẹp alpha (0% hoặc 100%) bằng cách đọc dữ liệu và vẽ bộ đệm hình ảnh vào khung hình. (Tôi không có thời gian để viết mã) –
Vui lòng xem dự án "canvas retro" của tôi tại đây: https://github.com/epistemex/retro-context-canvas (miễn phí) – K3N