Grałem z elementem canvas i odkryłem, że gdy próbuję narysować jednolite jednolite komórki NxN obok siebie, w niektórych konfiguracjach szerokości/wysokości, występują rozmyte białe linie między im.Dziwne HTML Antialiasing na płótnie
Na przykład to płótno ma wyglądać na czarny, ale zawiera pewnego rodzaju siatkę , co przypuszczam, że jest wynikiem wadliwego wygładzania krawędzi w przeglądarce.
Wystarczy powiedzieć, że ten błąd pojawia się tylko w niektórychkonfiguracje, ale chciałbym, aby pozbyć się go na dobre. Czy istnieje sposób na obejście tego? Czy kiedykolwiek miałeś problemy z wygładzaniem krawędzi w płótnie?
Zrobiłem this fiddle, który demonstruje problem i pozwala grać z wymiarami płótna i liczbą komórek. Zawiera również kod, którego używam do rysowania komórek, abyś mógł go sprawdzić i powiedzieć, czy robię coś złego.
var ctx = canvas.getContext('2d');
ctx.clearRect(0, 0, canvasWidth, canvasHeight);
for (var i = 0; i < numberOfCells; ++i) {
for (var j = 0; j < numberOfCells; ++j) {
ctx.fillStyle = '#000';
ctx.fillRect(j * cellWidth, i * cellHeight, cellWidth, cellHeight);
}
}
Dzięki z góry,
Petr.
Witam Petr, wydaje się, że zapomniałeś o podanie linku skrzypce, mógłbyś aktualizować – Canvas
Wystarczy zauważył. Przepraszam, proszę bardzo! :) –
Najpopularniejszą sztuczką jest przekształcenie całego płótna o jeden piksel na początku, aby uniknąć tego, jak sądzę. –