10

我有一些想要保存为 PNG 的任意像素数据。如何使用 JavaScript 对 PNG 进行编码以实现此目的?

数据是我想用来创建二维码的一系列 1 和 0。这是二维码任意数据

我没有使用 DOM,所以 jQuery 和 createElement 都出来了。

4

4 回答 4

1

http://www.xarg.org/2010/03/generate-client-side-png-files-using-javascript/

于 2012-07-02T15:42:16.633 回答
1

或者使用纯 JavaScript 将其直接编码为 PNG(不需要画布):

https://github.com/IjzerenHein/pnglib-es6

于 2016-08-25T10:50:38.547 回答
0

编辑:作为其他答案状态和链接,有一个 PNG 格式的 javascript 解释。万岁!

如果您想创建 PNG 格式的图像文件,您的问题基本上是在问,“PNG 的文件格式是什么?我如何将 QR 码网格转换为 QR 码图像的图像,因为我可以定义由 1 和 0 组成的 QR 码。”

如果要使用 PNG,则需要考虑 LZW 压缩。为什么不查看未压缩的 GIF 或位图?使用 Titanium 创建文件,为您选择的图像格式硬编码标题,然后使用适当的编码以编程方式创建图像。

但是,如果您只是想在屏幕上显示二维码,为什么不使用 Titanium Webview 画布呢?或者如果您担心它太慢(它不会用于绘制黑框),请使用适用于 iOS 的 Titan+plus Paint。

一个“hack”可能是使用具有绝对定位的 UI 元素通过使用 UI 元素绘制它来构建您的 QR 码图像。很酷的黑客。

或者你可以只在 webview 中使用 SVG 格式。就我个人而言,如果你需要一个文件,我认为最简单的方法是使用上面所说的带有硬编码标题的位图,或者如果你不能使用位图,则使用 GIF。

如果您只需要图像,我会尝试使用 Appcelerator 绘图方法之一。

祝你好运!

于 2012-07-02T16:00:10.447 回答
0

如果我理解正确,您可以使用此库生成 qrcode:

http://www.onlineqrlab.com/js_doc.php

没有尝试过,但它似乎有据可查

编辑:这是一个非常古老的答案(9 岁以上!哦),所以上面的链接现在返回 404。请参阅 web.archive.org:https://web.archive.org/web/20201029134734/http://onlineqrlab 。 com/js_doc.php

另请参阅qrcoder用于生成 QR 码的 npm 包。

于 2012-07-02T16:23:32.307 回答