接力:又撸了个可以个性化 QR 码的小工具,又撸了一点小功能,可以撸动态 QR 码了

2016-03-17 17:40:14 +08:00
 songkaiape

接力t/263050 @chinuno 觉得这个很有趣,膜拜了下大牛。然后被这个/t/261679启发了下,发现居然还可以做成 gif 。于是,就站在大牛的肩膀上撸了个小功能(其实都是在调用别人库) 代码在这里:GITHUB/n 效果如下: 不知道怎么贴 GIF 大家点开看吧-。- GIF 二维码

GIF 原图 因为调用的 images2gif 这个库只支持 Python2 ,所以只能在 python2 下使用 GIF 功能 (尝试了去把这个库改写到 python3 但是=。=,出现了奇怪的问题, gif 导出之后无法打开,猜测是编码问题,折腾了半天没搞定)

然后发现实际上有个网站可以实现以上各种功能。 大家去玩耍吧 Visuallead

4002 次点击
所在节点    Python
15 条回复
chinuno
2016-03-17 18:21:01 +08:00
挺棒的。给个小建议吧,如果要在网页上用的话可以用 WebP 格式, gif 体积太大了
hayao650
2016-03-17 19:18:34 +08:00
马克一下,到家看看
3dwelcome
2016-03-17 23:26:53 +08:00
疯狂启用 qr 码最有价值的自我修复功能、等到真的出现部分破损、容错值达到一定上限就傻眼了。
songkaiape
2016-03-18 00:28:24 +08:00
@3dwelcome 这个很对的,所以这种 QR 只能存些网址简单的信息。稍微复杂一点识别率就下降很多,不过现在主流 QR 不就是存个网址么~~所以还可以折腾~
songkaiape
2016-03-18 00:29:05 +08:00
@chinuno 嗯~回去再研究下~不太清楚 WebP 格式的东西
chinuno
2016-03-18 08:10:59 +08:00
@3dwelcome 也不算疯狂使用自我修复了。扫描软件一般是取像素块中间位置的颜色,我做的相当于把方块缩小了,说到影响有可能因为手机摄像头太渣小方块拍不清。对于微信嵌入网页长按识别影响不大
3dwelcome
2016-03-18 09:54:02 +08:00
@chinuno 扫描软件一般是取像素块的面积,作为估算值吧,黑色面积大于一定 tolerance ,为 1 ,否则就为 0.

不过对于识别影响确实不大,二维码大部分不是纸质打印,电子版完全不可能有意外破损。创意 QR 又要好看,又要完全不破坏像素面积,太难了。
hydyy
2016-03-18 10:24:37 +08:00
mark
fanwei
2016-03-18 10:56:58 +08:00
@songkaiape
这是个啥错误啊! 直接用你代码执行报的错!
python main.py -g True -d 0.05 d.gif http://songkaiape.github.io

[测试环境 debian python 2.7.3]


File "main.py", line 70, in <module>
temp=produce(txt,im,3,ec,bri, cont ,colourful = True,rgb=(100,150,0))
File "/home/xxxxxxxxxxxxxx/CuteR/CuteR.py", line 47, in produce
img_img = Image.open(img).convert('RGBA')
File "/usr/local/lib/python2.7/dist-packages/PIL/Image.py", line 2265, in open
prefix = fp.read(16)
File "/usr/local/lib/python2.7/dist-packages/PIL/Image.py", line 628, in __getattr__
raise AttributeError(name)
AttributeError: read
songkaiape
2016-03-18 11:21:13 +08:00
@fanwei 我的问题,有个文件我修改了但是后面没有提交,你可以把 img_img = Image.open(img).convert('RGBA') 改为 img_img=img.convert('RGBA'),应该就可以过了,我待会会修改下重新提交到 GITHUB 上
cheerzeng
2016-03-20 00:26:33 +08:00
楼主,看到是 GPLv3 授权,那么我可以直接把代码运行在我自己的网站上吗?对授权方面不大懂
cheerzeng
2016-03-20 03:27:31 +08:00
楼主,看了 visuallead 的效果之后,感觉它是用生成的二维码然后透明化叠加在初始图片上的。
然后我就试着把你的生成的图片做了一定透明化处理,叠加在初始图片上,效果感觉更好
songkaiape
2016-03-21 14:30:59 +08:00
@cheerzeng 可以啊,如果愿意的话可以把你修改的版本在 GITHUB 上面放出来,让大家看看你的做的改进,透明化应该是个不错的主意
designer
2016-08-06 19:02:42 +08:00
很棒啊 楼主!赞一个
Khlieb
2017-05-26 23:34:33 +08:00
LZ 还可以研究下 APNG 格式

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

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

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

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

© 2021 V2EX