搞了个ASCII Art 二维码生成器,效果图如下:
简单来说就是选择图片中的一块区域和给定 URL ,将 URL 生成二维码,满足二维码的黑白色块构成的图形与所选区域的形状基本相似。
代码在这里: https://github.com/dieforfree/qart4j
欢迎试用和反馈问题!
1
jonechenug 2016-02-25 14:05:55 +08:00 via Android
我是阿宝,为什么要把我打码,好东西
|
2
est 2016-02-25 14:13:18 +08:00
网址后面一大串随机字符???
我也发一个 |
3
free6om OP @jonechenug 不怕,有码也高清
|
4
v1024 2016-02-25 14:27:40 +08:00
好棒
|
5
free6om OP @est 被你发现了,"随机字符"正是为了让二维码尽量逼近背景图形,所以也不算真正的"随机"。你发的这个主要用了二维码纠错能力
|
6
designer 2016-02-25 14:33:50 +08:00
很有趣的。。。可惜我运行不了哇。要 java 环境支持吗
|
7
jacy 2016-02-25 14:42:09 +08:00 3
|
8
jacy 2016-02-25 14:43:48 +08:00
对了,上面这个好像不要随机字符
|
9
free6om OP @designer 是的,需要 Java 环境。用在宣传海报打二维码比较适合,二维码与背景相似,还可以调整二维码的色彩和透明度,这样使二维码不会像一块膏药那样突兀。
|
10
hqdmy 2016-02-25 14:45:47 +08:00
coolshell 大神的头像就是这么搞得么
|
12
ceoimon 2016-02-25 14:48:20 +08:00
见过。就是 7 楼那个,还能弄 GIF 的。
|
13
free6om OP @jacy 这篇论文里当时看到时,觉得逼近程度可以用"震撼"来形容,半色调结合二维码纠错,对二维码内容也不需要做修改,原理跟我发的这个不一样
|
16
designer 2016-02-25 15:04:05 +08:00
@free6om 大牛和各位大牛。有没有七楼 那篇论文的 在线生成二维码化图像 站点或者软件啊?,感觉 图像化非常清晰,网址跳转非常的快。
用 UC 扫你的那个海报的码,扫不出来。 |
17
Strikeactor 2016-02-25 15:05:07 +08:00
好棒
|
18
zwpaper 2016-02-25 15:08:47 +08:00
不错,已 Star ,有空再看看那个论文
|
19
free6om OP @designer 7 楼论文作者把相应的软件也实现了: http://cgv.cs.nthu.edu.tw/Projects/Recreational_Graphics/Halftone_QRCodes/
海报里那个二维码我为了能让人快速看到效果,牺牲了些可识别性。 |
20
free6om OP @zwpaper 阿里巴巴收购的一个公司在另外一个方向上也走的比较远,也可以看看: http://www.visualead.com/
|
21
garipan 2016-02-25 15:17:21 +08:00
见过 还研究过那个 paper 但是没有看懂…… :)
|
22
plqws 2016-02-25 15:40:43 +08:00
如果能加上颜色就更好了
|
23
just4test 2016-02-25 15:46:11 +08:00
visualead 早实现了。我还买了他们家一个月会员,结果到现在三年了都还是会员……
|
24
Tink 2016-02-25 15:51:04 +08:00
我记得我在 coolshell 的陈浩的微博头像上见到过这样的
|
25
qw7692336 2016-02-25 15:52:15 +08:00
居然可以扫
|
26
free6om OP @plqws 颜色有参数可以设置的,不过目前仅支持全部黑色块和全部白色块的 ARGB 值设置,还不能针对单个色块进行设置
|
27
ayouwei 2016-02-25 16:08:20 +08:00
mark..
|
28
toou123 2016-02-25 16:28:44 +08:00
好牛逼
|
29
keepcleargas 2016-02-25 17:08:52 +08:00
有意思.
|
30
luoyetx 2016-02-25 18:40:13 +08:00
mark 下,挺有意思的
|
32
wbsdty331 2016-02-25 21:45:14 +08:00
有意思
马克一下 |
34
ebony0319 2016-02-25 22:11:27 +08:00 via Android
这个有意思,收藏了。
|
36
free6om OP @garipan 我这个的原理跟 paper 里的不一样, paper 那个有实现: http://cgv.cs.nthu.edu.tw/Projects/Recreational_Graphics/Halftone_QRCodes/
|
37
Jaylee 2016-02-25 22:41:51 +08:00
好棒,已 star
|
39
free6om OP @garipan paper 里感觉最关键的是那个基本形状库和匹配算法,其他用类似 opencv 的图形处理库都比较容易实现
|
41
NovemberEleven 2016-02-26 10:11:53 +08:00
好棒。
|
42
free6om OP @zwpaper 阿里那个更多的是给自己生态内的厂家、伙伴、用户等在用,对全互联网没什么推广力度。也可能是二维码终究是个深度细分的市场,并且大家对常见的那个黑乎乎二维码已普遍接受,认为二维码就是或就应该这样,对其视觉审美没啥要求
|
43
ligyxy 2016-02-26 12:05:40 +08:00 via Android
哦咯 这个棒
|
44
went 2016-02-26 15:52:06 +08:00
po 主可以对参数做些说明吗
|
45
free6om OP @went 可以通过`--help`打印参数说明,里面最主要的参数如下:
-i 输入图片路径 -o 输出图片路径 -w 输出图片宽度 -h 输出图片高度 -u 二维码中的 URL -v 二维码 version ,可参看二维码规范文档 -z 生成的二维码图片大小 --ml, --mr, --mt, --mb 四个参数用来确定二维码在整个图片中的位置信息, ml 是 margin-left 的意思,其他类似 --cb, --cw 分别用来制定二维码中黑色块和白色块的 ARGB 值 |
46
zqhong 2016-02-26 17:59:20 +08:00
很好玩的东西,赞一个。
给楼主提一些建议: 1. 代码库中建议加入生成好的 jar 文件。并不是每个人都有安装 Maven 的。 2. 不提供参数执行 runnable.jar 这个文件,会抛出一个错误。现在的命令行程序不都是不提供任何参数的时候,打印帮助信息吗? 错误如下: $ java -jar qart4j.jar 2016-02-26 17:58:29.397 1 [main] ERROR test - encode error java.io.FileNotFoundException: input.png (系统找不到指定的文件。) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(FileInputStream.java:138) at org.apache.commons.imaging.common.bytesource.ByteSourceFile.getInputStream(ByteSourceFile.java:40) at org.apache.commons.imaging.Imaging.guessFormat(Imaging.java:263) at org.apache.commons.imaging.Imaging.getImageParser(Imaging.java:738) at org.apache.commons.imaging.Imaging.getBufferedImage(Imaging.java:1402) at org.apache.commons.imaging.Imaging.getBufferedImage(Imaging.java:1370) at free6om.research.qart4j.ImageUtil.loadImage(ImageUtil.java:40) at free6om.research.qart4j.QArt.main(QArt.java:180) |
47
xcodebuild 2016-02-26 21:48:36 +08:00
有意思,才知道还有这样的东西
|
48
free6om OP @zqhong 不错的建议,第 1 点我可以将打包好的 jar 放到 github 的 release 里;第 2 点不错,更友好
|
49
free6om OP @codefalling 2 楼, 7 楼, 20 楼提到的也很有意思
|
50
goldengate 2016-02-27 20:19:36 +08:00 via Android
有意思,二维码还可以这么玩
|
51
goldengate 2016-02-27 20:39:32 +08:00 via Android
参数可以汉化下不?有些英语不太明白😁
|
56
just4test 2016-03-01 18:01:51 +08:00 via Android
@wzxjohn 并没有。算是占了便宜吗,不过后来就没用过。这玩意要是提供 API 还行,没有 API ,自己又不开公司,真是没啥好玩的。
而且他们家如果要生成质量好的二维码靠的是短链接。然后短链接网址被墙了。 也可以生成直接链接,但是效果没那么好而且有数量限制,按照付费等级每月补充。我虽然高级账户还可以用,但就没有补充了。 |
58
cdlcm 2017-12-02 11:28:10 +08:00
|