为什么这些线的粗细不同? PIXI.JS
Why don't these lines have the same thickness? PIXI.JS
让我问你一个关于 PIXI.js 的问题。在Chrome中,这些线看起来粗细不一样,但它是相同的图形API(lineTo, moveTo)。这是为什么?
let boxW = 46.5;
this.leftBox
.lineStyle(1, 0x000,1)
.beginFill(0xffffff)
.moveTo(0, 0)
.lineTo(465, 0)
.lineTo(465, 465)
.lineTo(0, 465)
.lineTo(0, 0)
.endFill();
for (let i = 1; i <= 9; i++) {
this.leftBox.moveTo(boxW * i, 0).lineTo(boxW * i, 465);
}
PAEz说的对,应该是抗锯齿吧
创建应用程序时 anti-aliasing 默认关闭。
试试下面的方法,看看是否有帮助:
const app = new PIXI.Application({
'antialias': true,
'resolution': 2 // This may help too
});
// Add the view to the DOM
document.body.appendChild(app.view);
// ... your line code
可在此处找到 Application
class 及其选项的文档:
https://pixijs.download/dev/docs/PIXI.Application.html
附带说明一下,PIXI 非常快,但随着应用程序的扩展 anti-aliasing 和分辨率可能会对性能产生影响。
最后回答你关于 anti-aliasing 是什么的问题,简而言之,它是一种平滑 non-rectangular 形状上锯齿状边缘的方法,尽管你有一系列的线条,但它可以帮助你解决问题也。这里有一篇文章可以告诉你更多:https://www.gamingscan.com/what-is-anti-aliasing/
让我问你一个关于 PIXI.js 的问题。在Chrome中,这些线看起来粗细不一样,但它是相同的图形API(lineTo, moveTo)。这是为什么?
let boxW = 46.5;
this.leftBox
.lineStyle(1, 0x000,1)
.beginFill(0xffffff)
.moveTo(0, 0)
.lineTo(465, 0)
.lineTo(465, 465)
.lineTo(0, 465)
.lineTo(0, 0)
.endFill();
for (let i = 1; i <= 9; i++) {
this.leftBox.moveTo(boxW * i, 0).lineTo(boxW * i, 465);
}
PAEz说的对,应该是抗锯齿吧
创建应用程序时 anti-aliasing 默认关闭。
试试下面的方法,看看是否有帮助:
const app = new PIXI.Application({
'antialias': true,
'resolution': 2 // This may help too
});
// Add the view to the DOM
document.body.appendChild(app.view);
// ... your line code
可在此处找到 Application
class 及其选项的文档:
https://pixijs.download/dev/docs/PIXI.Application.html
附带说明一下,PIXI 非常快,但随着应用程序的扩展 anti-aliasing 和分辨率可能会对性能产生影响。
最后回答你关于 anti-aliasing 是什么的问题,简而言之,它是一种平滑 non-rectangular 形状上锯齿状边缘的方法,尽管你有一系列的线条,但它可以帮助你解决问题也。这里有一篇文章可以告诉你更多:https://www.gamingscan.com/what-is-anti-aliasing/