資源簡介
java中二維碼生成和解析的必須jar包 以及完整的java代碼 可以直接使用

代碼片段和文件信息
package?dmsd;
?
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? for?(int?x?=?left;?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? 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);
}
?
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-08-23?17:18??demo\
?????文件?????????833??2018-08-23?17:13??demo\.classpath
?????目錄???????????0??2018-08-23?17:18??demo\.myeclipse\
?????文件?????????285??2018-08-23?16:27??demo\.myme
?????文件????????1531??2018-08-23?16:27??demo\.project
?????目錄???????????0??2018-08-23?17:18??demo\.settings\
?????文件?????????500??2018-08-23?16:27??demo\.settings\.jsdtscope
?????文件?????????395??2018-08-23?16:27??demo\.settings\org.eclipse.jdt.core.prefs
?????文件?????????450??2018-08-23?16:27??demo\.settings\org.eclipse.wst.common.component
?????文件?????????252??2018-08-23?16:27??demo\.settings\org.eclipse.wst.common.project.facet.core.xm
?????文件??????????49??2018-08-23?16:27??demo\.settings\org.eclipse.wst.jsdt.ui.superType.container
?????文件???????????6??2018-08-23?16:27??demo\.settings\org.eclipse.wst.jsdt.ui.superType.name
?????目錄???????????0??2018-08-23?17:18??demo\WebRoot\
?????目錄???????????0??2018-08-23?17:18??demo\WebRoot\me
?????文件??????????36??2018-08-23?16:27??demo\WebRoot\me
?????目錄???????????0??2018-08-23?17:18??demo\WebRoot\WEB-INF\
?????目錄???????????0??2018-08-23?17:18??demo\WebRoot\WEB-INF\classes\
?????目錄???????????0??2018-08-23?17:18??demo\WebRoot\WEB-INF\classes\dmsd\
?????文件????????3217??2018-08-23?17:13??demo\WebRoot\WEB-INF\classes\dmsd\BufferedImageLuminanceSource.class
?????文件????????2109??2018-08-23?17:13??demo\WebRoot\WEB-INF\classes\dmsd\MatrixToImageWriter.class
?????文件????????7236??2018-08-23?17:17??demo\WebRoot\WEB-INF\classes\dmsd\QRCodeUtil.class
?????文件?????????709??2018-08-23?17:13??demo\WebRoot\WEB-INF\classes\dmsd\TestLogo.class
?????文件????????1713??2018-08-23?17:13??demo\WebRoot\WEB-INF\classes\dmsd\mytest.class
?????目錄???????????0??2018-08-23?17:18??demo\WebRoot\WEB-INF\lib\
?????文件??????430433??2018-08-23?16:47??demo\WebRoot\WEB-INF\lib\core.jar
?????文件???????49836??2018-08-23?17:13??demo\WebRoot\WEB-INF\lib\qrcode.jar
?????文件?????1038000??2018-08-23?17:13??demo\WebRoot\WEB-INF\lib\qrcode_swetake.jar
?????文件?????1099539??2018-08-23?16:50??demo\WebRoot\WEB-INF\lib\www.yimuhe.com?-?Javabarcode.jar
?????文件?????????404??2018-08-23?16:27??demo\WebRoot\WEB-INF\web.xm
?????文件?????????834??2018-08-23?16:27??demo\WebRoot\index.jsp
?????目錄???????????0??2018-08-23?17:18??demo\src\
............此處省略6個文件信息
評論
共有 條評論