c - 如何在C中将QRcode保存为图像

标签 c bitmap qr-code

我正在使用 libqrenode 在 C 中生成二维码。然后我想将生成的二维码保存为位图。怎么做?谁能给我一段代码?

最佳答案

QRencode 库无法直接导出为位图。您需要做的是以下内容

QRcode my_qr;  //this is the code you want to print

for (int h=0; h<my_qr.height; h++)
  for (int w=0; w<my_qr.width; w++) {
    if (my_qr.data[h*my_qr.width+w]%2 == 1) printf("#"); // black pixel
    else printf(" "); // white pixel
  }
  printf("\n");

当然,这会产生简单的文本,而不是位图,但是可以轻松地将此文本导入为 XPM 图像,或者您可以通过为位图添加正确的标题来稍微扩展上面的代码。

该库本身包含一个用于在 PNG 文件中编写 QRCode 的测试/示例。您可以在这里查看:https://github.com/fukuchi/libqrencode/blob/1b565c7b599029818fc596e7da4371a3083da36c/tests/create_frame_pattern.c它使用我上面解释的方法。

关于c - 如何在C中将QRcode保存为图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31896902/

相关文章:

c - 如何在 C 中的堆栈上创建一个结构?

android - ImageView 源缩放正确。如何?

javascript - 图像 Base64 字符串到 Uint8ClampedArray

ios - 二维码扫描不工作

c - 一个字符串的长度

c - char指针数组中的多个字符串输入

c - C execve() 函数是否终止子进程?

c# - 如何使用 C# 将 jpg 文件转换为位图?

c# - 为什么在某些系统上PictureBox.Load锁定图像?

iphone - 在iPhone中创建QR码