首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >node-canvas:以隔行/逐行方式输出PNG文件

node-canvas:以隔行/逐行方式输出PNG文件
EN

Stack Overflow用户
提问于 2012-07-28 06:30:50
回答 1查看 1.1K关注 0票数 1

node-canvas是依赖于Cairo的HTML5画布库的Node.js版本。我的应用程序根据发送到应用程序的数据创建了一堆PNG文件。

node-canvas提供了两个函数toBuffer()toDataURL(),它们将原始PNG或Base64编码的PNG输出为我可以发送到浏览器的字符串。但是,无法在库中添加对隔行扫描的支持。

我想扩展这个库的功能,并添加对交错PNG的支持。我有一个字符串形式的原始PNG数据,还有一个图像的像素数组(如果需要)。我不了解PNG编码是如何工作的。谁能告诉我,我需要用来转换我的数据的算法,无论是非隔行扫描的原始PNG数据还是像素阵列,并将其转换为隔行扫描/逐行扫描的PNG?

这是我正在构建的绘制复杂方程式的图形计算器应用程序的必要步骤。这将是一件好事,有一个模糊的图像,出现得很快,并随着时间的推移,而不是一个非交错的PNG,从上到下加载我的应用程序。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-31 03:08:39

不能将非隔行扫描的原始PNG数据转换为隔行扫描的PNG流。隔行扫描和非隔行扫描PNG是两种不同的PNG编码方式(它们在像素流排序方面基本不同,但之后会应用过滤器压缩,因此您不能简单地更改最终流以在隔行扫描和非隔行扫描模式之间切换)。生成交错的PNG是PNG编码器的工作,PNG编码器用于从原始图像像素写入PNG文件(或流)。

然而,我建议你不要隔行扫描图像;压缩效率会受到影响(特别是使用PNG),而且对用户体验的好处至少是有争议的。See eg。今天,交错的PNG很少使用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11696488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档