Aşağıdaki kodda antialias etkisini nasıl devre dışı bırakabilirim? Ben maalesef bir tuval üzerinde çizim yaparken düzgünleştirme devre dışı bırakmak için hiçbir taşınabilir yolu yokturHTML5 kanvas antidiyaları devre dışı bırakabilir ilkel (eğriler, ...)
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();
Bu soru bana şunu sormamı sağladı: http://stackoverflow.com/questions/14424648/nice-ellipse-on-a-canvas/14429346#14429346 Birkaç kelimeyle: oldukça büyük performans isabeti, antialiasing olmadan ilkelleri çekebilir veya yeniden uygulayabilirsiniz (biraz çalışma belki), ancak antialiasing olmadan hızlı bir şekilde yapmanın bir yolu yoktur. – GameAlchemist
Bir grafik komut dosyası oluştururken, 20 kez aynı şeyi çizip çizmediğinizi, kenar yumuşatılmış piksellerin takma haline geldiğini buldum. Daha hızlı yol, bir görüntü tamponu üzerinde istenen şekilleri çizmek, verileri okuyarak alfa (% 0 veya% 100) kelepçelemek ve görüntü arabelleğini tuvale çekmek. (Kodu yazmak için zamanım yok) –
Lütfen ayrıca "retro kanvas" projemi buradan görebilirsiniz: https://github.com/epistemex/retro-context-canvas (ücretsiz) – K3N