- 授权协议: Apache
- 开发语言: Java
- 操作系统: 跨平台
- 软件首页: https://github.com/zxing/zxing
- 软件文档: http://zxing.github.io/zxing/
- 官方下载: https://github.com/zxing/zxing
软件介绍
ZXing是一个开源Java类库用于解析多种格式的1D/2D条形码。目标是能够对QR编码、Data Matrix、UPC的1D条形码进行解码。 其提供了多种平台下的客户端包括:J2ME、J2SE和Android。
示例代码:
import com.google.zxing.BarcodeFormat; import com.google.zxing.EncodeHintType; import com.google.zxing.MultiFormatWriter; import com.google.zxing.WriterException; import com.google.zxing.client.j2se.MatrixToImageWriter; import com.google.zxing.common.BitMatrix; import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel; import java.io.File; import java.io.IOException; import java.io.OutputStream; import java.util.HashMap; import java.util.Map; /** * 二维码工具类 */ public class QRCodeUtil { private static final int width = 300;// 默认二维码宽度 private static final int height = 300;// 默认二维码高度 private static final String format = "png";// 默认二维码文件格式 private static final Map<EncodeHintType, Object> hints = new HashMap();// 二维码参数 static { hints.put(EncodeHintType.CHARACTER_SET, "utf-8");// 字符编码 hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);// 容错等级 L、M、Q、H 其中 L 为最低, H 为最高 hints.put(EncodeHintType.MARGIN, 2);// 二维码与图片边距 } /** * 返回一个 BufferedImage 对象 * @param content 二维码内容 * @param width 宽 * @param height 高 */ public static BufferedImage toBufferedImage(String content, int width, int height) throws WriterException, IOException { BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height, hints); return MatrixToImageWriter.toBufferedImage(bitMatrix); } /** * 将二维码图片输出到一个流中 * @param content 二维码内容 * @param stream 输出流 * @param width 宽 * @param height 高 */ public static void writeToStream(String content, OutputStream stream, int width, int height) throws WriterException, IOException { BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height, hints); MatrixToImageWriter.writeToStream(bitMatrix, format, stream); } /** * 生成二维码图片文件 * @param content 二维码内容 * @param path 文件保存路径 * @param width 宽 * @param height 高 */ public static void createQRCode(String content, String path, int width, int height) throws WriterException, IOException { BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height, hints); //toPath() 方法由 jdk1.7 及以上提供 MatrixToImageWriter.writeToPath(bitMatrix, format, new File(path).toPath()); } }
Processing编程学习指南(原书第2版)
[美]丹尼尔希夫曼(Daniel Shiffman) / 李存 / 机械工业出版社 / 2017-3-1 / 99.00元
在视觉化界面中学习电脑编程的基本原理! 本书介绍了编程的基本原理,涵盖了创建最前沿的图形应用程序(例如互动艺术、实时视频处理和数据可视化)所需要的基础知识。作为一本实验风格的手册,本书精心挑选了部分高级技术进行详尽解释,可以让图形和网页设计师、艺术家及平面设计师快速熟悉Processing编程环境。 从算法设计到数据可视化,从计算机视觉到3D图形,在有趣的互动视觉媒体和创意编程的背景之......一起来看看 《Processing编程学习指南(原书第2版)》 这本书的介绍吧!