资源简介
java生成二维码实例+jar包,希望能给需要的人带来帮助
代码片段和文件信息
package com.han.demo;
import java.awt.Graphics2D;
import java.awt.geom.AffineTransform;
import java.awt.image.BufferedImage;
import com.google.zxing.LuminanceSource;
public class BufferedImageLuminanceSource extends LuminanceSource {
private final BufferedImage image;
private final int left;
private final int top;
public BufferedImageLuminanceSource(BufferedImage image) {
this(image 0 0 image.getWidth() image.getHeight());
}
public BufferedImageLuminanceSource(BufferedImage image int left int top
int width int height) {
super(width height);
int sourceWidth = image.getWidth();
int sourceHeight = image.getHeight();
if (left + width > sourceWidth || top + height > sourceHeight) {
throw new IllegalArgumentException(
“Crop rectangle does not fit within image data.“);
}
for (int y = top; y < top + height; y++) {
for (int x = left; x < left + width; x++) {
if ((image.getRGB(x y) & 0xFF000000) == 0) {
image.setRGB(x y 0xFFFFFFFF); // = white
}
}
}
this.image = new BufferedImage(sourceWidth sourceHeight
BufferedImage.TYPE_BYTE_GRAY);
this.image.getGraphics().drawImage(image 0 0 null);
this.left = left;
this.top = top;
}
@Override
public byte[] getRow(int y byte[] row) {
if (y < 0 || y >= getHeight()) {
throw new IllegalArgumentException(
“Requested row is outside the image: “ + y);
}
int width = getWidth();
if (row == null || row.length < width) {
row = new byte[width];
}
image.getRaster().getDataElements(left top + y width 1 row);
return row;
}
@Override
public byte[] getMatrix() {
int width = getWidth();
int height = getHeight();
int area = width * height;
byte[] matrix = new byte[area];
image.getRaster().getDataElements(left top width height matrix);
return matrix;
}
@Override
public boolean isCropSupported() {
return true;
}
@Override
public LuminanceSource crop(int left int top int width int height) {
return new BufferedImageLuminanceSource(image this.left + left
this.top + top width height);
}
@Override
public boolean isRotateSupported() {
return true;
}
@Override
public LuminanceSource rotateCounterClockwise() {
int sourceWidth = image.getWidth();
int sourceHeight = image.getHeight();
AffineTransform transform = new AffineTransform(0.0 -1.0 1.0 0.0
0.0 sourceWidth);
BufferedImage rotatedImage = new BufferedImage(sourceHeight
sourceWidth BufferedImage.TYPE_BYTE_GRAY);
Graphics2D g = rotatedImage.createGraphics();
g.drawImage(image transform null);
g.dispose();
int width = getWidth();
return new BufferedImageLuminanceSource(rotatedImage top sourceWidth
- (left + width) getHeight() width);
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1038000 2016-02-22 16:26 Qrcode_swetake.jar
文件 532 2016-02-22 15:06 demo\.classpath
文件 380 2016-02-22 16:29 demo\.project
文件 598 2016-02-22 14:12 demo\.settings\org.eclipse.jdt.core.prefs
文件 3305 2016-02-22 16:29 demo\bin\com\han\demo\BufferedImageLuminanceSource.class
文件 2218 2016-02-22 16:29 demo\bin\com\han\demo\MatrixToImageWriter.class
文件 1772 2016-02-22 16:29 demo\bin\com\han\demo\MyTest.class
文件 538421 2016-02-22 14:59 demo\lib\core-3.1.0.jar
文件 2867 2016-02-22 15:22 demo\src\com\han\demo\BufferedImageLuminanceSource.java
文件 1524 2016-02-22 15:25 demo\src\com\han\demo\MatrixToImageWriter.java
文件 1021 2016-02-22 16:28 demo\src\com\han\demo\MyTest.java
文件 538421 2016-02-22 11:40 core-3.1.0.jar
文件 457507 2016-02-22 11:40 core-3.1.0-sources.jar
目录 0 2016-02-22 16:29 demo\bin\com\han\demo
目录 0 2016-02-22 16:29 demo\src\com\han\demo
目录 0 2016-02-22 16:29 demo\bin\com\han
目录 0 2016-02-22 16:29 demo\src\com\han
目录 0 2016-02-22 16:29 demo\bin\com
目录 0 2016-02-22 16:29 demo\src\com
目录 0 2016-02-22 16:29 demo\.settings
目录 0 2016-02-22 16:29 demo\bin
目录 0 2016-02-22 16:29 demo\lib
目录 0 2016-02-22 16:29 demo\src
目录 0 2016-02-22 16:29 demo
----------- --------- ---------- ----- ----
2586566 24
- 上一篇:Jieba-Analysis 结巴分词
- 下一篇:基于JAVA EE的工单管理系统
相关资源
- Android之扫描二维码和根据输入信息生
- android最简单的二维码生成Demo
- android手机扫描二维码开源代码
- Android webview调用摄像头扫描二维码
- android二维码扫描、读取、识别、生成
- Android高仿QQ扫描二维码功能实现
- Android 使用ZBar扫描二维码源码
- 开源FireMonkey精品控件集-ZXing.Delphi f
- 使用java实现,通过zpl指令调用 zebra打
- Android二维码扫描的ZBar与ZXing两种封装
- Xamarin.Android 扫描二维码并跳转网页
- Android使用Zbar实现二维码扫描功能
- 10个android项目-简单实用
- android 根据输入数据生成二维码
- 基于AndroidStudio 二维码自助点餐系统
- Android利用zxing生成二维码,识别二维
- 二维码连续扫描
- Zxing二维码扫描成功移植到AS项目
- Android zxing扫一扫,集成了闪光灯,选
- Android studio 之Zxing 实现二维码生成和
- PHP+andriod+IOS二维码签到开源代码
- 安卓android stduio二维码扫描跳转页面,
- 基于二维码的防伪项目java开发
- 安卓二维码扫描及生成源代码
- 4448_jsp网页调用摄像头读取二维码
- Delphi XE 10.1 实现二维码扫描与生成
- 微信小程序二维码生成java
- Java获取小程序带参二维码太阳码
- 用Servlet实现的二维码图片生成
- java,二维码生成算法
评论
共有 条评论