【问题标题】:Encoding a PNG with JavaScript使用 JavaScript 编码 PNG
【发布时间】:2012-07-03 01:08:51
【问题描述】:

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

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

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

【问题讨论】:

  • 你能详细说明“像素数据”部分吗? “一连串的 1 和 0”在这里不会敲响警钟。
  • Titanium Appcelerator 实际上
  • 我只是生成一个 SVG,因为它很简单,但我很懒。 :-)
  • 真的必须通过 JavaScript 来做这件事吗?
  • 为什么不使用谷歌图表工具在他们的服务器上创建二维码?

标签: javascript encoding png appcelerator titanium-mobile


【解决方案1】:
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

    如果我理解正确,你可以使用这个库来生成二维码:

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

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

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

    另请参阅qrcoder npm 包以生成二维码。

    【讨论】:

      【解决方案4】:

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

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

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

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

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

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

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

      祝你好运!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-10-20
        • 2018-03-08
        • 2018-01-19
        • 1970-01-01
        • 2017-12-22
        • 1970-01-01
        • 2011-03-30
        • 1970-01-01
        相关资源
        最近更新 更多