0
我畫了一堆彼此相鄰的線條,每條線條的寬度爲1.整個畫布的縮放比例被縮小,因此它們大概呈現在彼此的頂部。爲什麼重疊的畫布線變暗?
如果它們都是純綠色(#00ff00),爲什麼重疊會變暗?截圖和代碼示例附加。
render(props) {
const {
context,
x, y,
} = props;
context.lineWidth = 1;
context.fillStyle = '#000';
this._pings.forEach((ping, i) => {
context.beginPath();
context.moveTo(x + i, y);
context.lineTo(x + i, Math.max(y - ping, y - 100));
context.strokeStyle = pingToColor(ping);
context.stroke();
});
}
哇,感謝快:
爲了通過使用一個平移或偏移量加上與x位置解決簡單地偏移的x位置0.5個象素迴應解決我的問題!這是否意味着如果我製作了線條寬度2,那麼它不會變暗,因爲它不需要亞像素渲染? –
@AndrewRasmussen在這種情況下應該可以工作,但更多的是關於職位。當一個點不再精確地覆蓋網格單元時,與填充寬度無關,可以使用子像素。您也可以在繪製線條之前使用全局變換('ctx.translate(0.5,0.5);'),具體取決於您的場景。也可以使用寬度爲1+的rect(),因爲它們的填充位於邊界內,所以它們的位置取整數值。 – K3N