艺术二维码 QArt Codes

2016-08-06 11:38:03 +08:00
 7sDream

介绍

呼,这个很久之前定的目标今天终于差不多算写出来了。

几个月之前发现了一篇文章,是 Russ Cox 写的一篇关于将二维码与图片结合的,我觉得很好玩就准备动手实现。

其实已经有了其他实现的,我记得代码家的微博好像还推荐过,就是这个:https://github.com/dieforfree/qart4j

所以可能很多人都知道这个东西了,我读完 qart4j 的代码( QwQ ,好难读,没注释,而且我还不会 Java )之后开始用 Python 实现我自己的版本,其他的就不多说了,看几个例子:

例子

扫描这个二维码就能打开 V2EX 的首页啦~~

这个是我的 Github

这个是 bilibili

啊对了,需要说明的是,二维码的编码部分也是我自己写的,没有调用库,独立出来了一个 pyqr 的 cli 用于生成普通的二维码,使用效果大概是这样:

当然,也是可以生成图片的,加个 -o 参数就好

pyqart 的 cli 也支持打印在 terminal 里的,例子:

其他的细节看 Readme 吧,pyqr -hpyqart -h 可以查看更多帮助。

原理

因为有点复杂我就不在帖子里说了,涉及到二维码的编码规范和里德所罗门纠错码之类的东西,大家可以暂时看上面那篇算法提出者写的文章,有可能以后我会写一系列文章仔细说明这个实现。

代码

代码在这: https://github.com/7sDream/pyqart

扫描下面这个二维码也可以访问:

我的其他项目可以在 Github 上看……除了那两个最先的 piano 项目,其他的都挺好玩儿的……

额外

额,开学就大四了,然而工作和实习都并没有着落…………

听说阿里今年几乎就不怎么找人,加上它们也没啥 Py 岗……估计是没戏了。 腾讯扔了个简历至今没回应。 网易那个笔试简直了……算法题死活交不上,最后放弃了

未来迷茫中…………

目前座标天津,大四一年准备尽量出去实习吧,有没有什么北京的公司招 Py 实习的,可以联系一下。还有就是毕业以后的工作,有没有公司要的?

以上,谢谢阅读。

22651 次点击
所在节点    Python
102 条回复
chinuno
2016-08-06 17:49:27 +08:00
。你说的没错。我就相当于把点缩小了放图上而已。感觉你这样做出来的要比我干净一些,不过包含了太多垃圾信息扫出来看到后面那坨也难受
no13bus
2016-08-06 17:52:51 +08:00
天津啥学校的? 很厉害. 支持 python
7sDream
2016-08-06 17:54:15 +08:00
@chinuno

是的,是两种不同的思路来着~~

恩,确实 QArt 这种方式后面必须要加入很多无用的信息,还好网址后面跟锚点不影响访问。

所以 QArt 这种方法仅限于处理包含 URL 的二维码,限制比较大, 你的那种方法适用性比较广。
7sDream
2016-08-06 17:55:41 +08:00
@no13bus 南开的。
ynyounuo
2016-08-06 18:10:50 +08:00
@fashioncj 不知道,原来在朋友圈一个公众号上见到的
nyanyh
2016-08-06 18:11:42 +08:00
失望,连是谁都看不出来了

#手动滑稽
7sDream
2016-08-06 18:13:14 +08:00
@nyanyh 可以把 -v 参数调高一点~~
em2046
2016-08-06 18:29:36 +08:00
膜拜大神
plqws
2016-08-06 18:39:52 +08:00
@nyanyh 真正的粉丝还是看得出来的
giuem
2016-08-06 18:55:53 +08:00
@7sDream 动图之前有 v 友实现了 /t/264254
giuem
2016-08-06 18:58:01 +08:00
@giuem 没仔细看,好像和楼上那位说的不一样。。。
7sDream
2016-08-06 19:04:01 +08:00
@giuem 诶 虽然不一样但是这个动态二维码也很好玩呀!果然 v 友创意无限~
aljun
2016-08-06 19:11:17 +08:00
用力抱紧 7s 大腿(・∀・)
coreki
2016-08-06 19:14:57 +08:00
自己实现了,厉害。这种缩小点位后的二维码有更多空间填充图形,比普通二维码有个性多了,
7sDream
2016-08-06 19:33:28 +08:00
@coreki 谢谢支持~我也是觉得这想法好玩才有动力去实现它的~
ynyounuo
2016-08-06 19:41:35 +08:00
这怎么难得倒真正的粉丝?李嘉诚也太好认了啊!
scola
2016-08-06 19:46:01 +08:00
厉害~我也看了那个论文~但是没弄懂~可能是我对 QR 码的基础不太了解~期待你的后续怎样
scola
2016-08-06 19:48:13 +08:00
后续怎样→后续文章

能说一下要看懂那篇论文需要什么基础知识么?
huybery
2016-08-06 20:02:16 +08:00
我来晚了呀
cholerae
2016-08-06 20:05:28 +08:00
77 好棒

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/297531

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX