Javascript Canvas 像素格式

标签 javascript graphics canvas

我注意到每个使用 Canvas 对象的人都将其围绕像素缓冲区的方式乘以 4 (RGBA)。我使用原生像素编码(Delphi 和 C++)进行了大量工作,并将其识别为普通的 32 位 RGBA(888-8 编码)。 我的问题是:有没有办法检测浏览器的像素格式?如果您在支持 16 位(565 编码)或 24 位(888 编码)的设备上运行,如果浏览器必须为每次重绘降级位图,则速度会非常慢。尤其是涉及到 alpha 混合时。

此外(这是次要的):是否可以在 javascript 下创建纯 888 或 565 位图?或者基于 8 位调色板的位图呢?在我看来,基于 JS 的游戏只需要使用 8 位像素就可以受益匪浅。

最佳答案

没有。似乎没有办法降低 Canvas 的像素,因为就规范本身而言,这就是 imageData 的简单含义。

您当然可以只使用 8 位 PNG 制作 javascript 游戏,这将节省空间和加载时间,但不会节省渲染时间。

关于Javascript Canvas 像素格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6780760/

相关文章:

java - 如何在按键java swing上旋转一条线

javascript - 将 Highcharts 导出到 jsPDF - canvg 错误

java - Java 小程序加载失败时如何显示消息?

javascript - 如何在 url 中注入(inject)带空格的命令?

javascript - 如何将字符串参数从 Angular UI 传递到 node.js 后端?

java - 混合像素(半透明)的更有效方法?

android - 如何在不剪裁阴影的情况下剪裁 canvas.drawCircle()?

javascript - DataTables.js 在 row().remove().draw() 调用中删除多行

绘制多个对象时 Javascript 性能下降

javascript - Html5 canvas 不会在 Rails 中使用 javascript 进行迭代