免费二维码生成途径非常多!比如比较有名的草料二维码,如果只是简单的使用,用它就足够了。但是如果想大规模的生成,那就不太合适了。再者很多工具都没办法在二维码中加入logo(像微信二维码一样)。
接下来,我就说说如何快速的、高质量的生成一个可高度定制的二维码。
二维码的编码算法是公开的,这就意味着大部分的开发语言都可以动图生成。但是在二维码应用如此广泛的今天,还自己去造轮子,如果不是傻,那就是正真的技术极客了。
Java有开源的二维码生成库:com.google.zxing,这是谷歌大佬为android开源的,这个库不可谓不强大,但是坑的一逼,谁用谁知道呀
python是出了名的第三方库多,二维码生成怎么少得了它。比如:myqr、qrcode等
其它语言不熟悉,不做讨论…
我既然说的是任何开发语言都能生成二维码,除开每种语言独立实现外。还有一种方案,那就是调用现成的API去生成二维码。对于想简单使用、想控制开发成本或者是使用一些小众语言的场合,使用API不失为一种好策略。
下面我推荐一个二维码免费生成的API,来自“小葱计算”
详细说明文档:https://www.xiaocongjisuan.com/show/api/14
API传参注意事项:
- appKey:接口唯一标识,在用户后台->应用中心->我的接口查看
- openId:平台id,注册后系统自动生成,在用户后台->用户中心->账户信息查看
为啥推荐这个接口呢?因为只有它生成的二维码是可以高度定制的,比如:logo、二维码的颜色、二维码的背景颜色、二维码的尺寸,边距等等,详细设置如下图所示:
还有一些返回值的说明,具体参照上面的api说明文档吧!接下来,我就贴一下一些常用开发语言的使用DEMO。
java版本:
package com.xiaocongjisuan.module.example;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
public class Application {
public static final String DEF_CHATSET = "UTF-8";
public static final int DEF_CONN_TIMEOUT = 30000;
public static final int DEF_READ_TIMEOUT = 30000;
public static String userAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36";
//配置您申请的appKey和openId
public static final String APP_KEY ="yours";
public static final String OPEN_ID ="yours";
//将map型转为请求参数型
public static String urlEncode(Map<String,Object> params) {
if(params==null){
return "";};
StringBuilder sb = new StringBuilder();
for (Map.Entry<String,Object> i : params.entrySet()) {
try {
sb.append(i.getKey()).append("=").append(URLEncoder.encode(i.getValue()+"","UTF-8")).append("&");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
String r=sb.toString();