提交 8bb0b506 编写于 作者: O o2null

使用appche base64

上级 8abedf20
......@@ -12,7 +12,8 @@ import java.util.Map;
import java.util.Objects;
import javax.imageio.ImageIO;
import sun.misc.BASE64Decoder;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.lang3.StringUtils;
import com.google.zxing.BarcodeFormat;
......@@ -20,7 +21,6 @@ import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.common.BitMatrix;
public class CodeUtil {
private static final int QRCOLOR = 0xFF000000; // 默认是黑色
private static final int BGWHITE = 0xFFFFFFFF; // 背景颜色
......@@ -28,7 +28,8 @@ public class CodeUtil {
private static final int HEIGHT = 300; // 二维码高
/**
*生成带logo的二维码图片
* 生成带logo的二维码图片
*
* @param logoFile /logo图片文件
* @param codeFile /二维码图片
* @param qrUrl /二维码存储的信息:vcard格式
......@@ -85,7 +86,8 @@ public class CodeUtil {
outg2.drawImage(outImage, 0, 0, outImage.getWidth(), outImage.getHeight(), null);
outg2.setColor(Color.BLACK);
outg2.setFont(new Font("宋体", Font.BOLD, 30)); // 字体、字型、字号
outg2.drawString(note2, 200 - strWidth2 / 2,outImage.getHeight() + (outImage2.getHeight() - outImage.getHeight()) / 2 + 5);
outg2.drawString(note2, 200 - strWidth2 / 2,
outImage.getHeight() + (outImage2.getHeight() - outImage.getHeight()) / 2 + 5);
outg2.dispose();
outImage2.flush();
outImage = outImage2;
......@@ -109,13 +111,15 @@ public class CodeUtil {
}
/**
*生成带logo的二维码图片
* 生成带logo的二维码图片
*
* @param logoFile /logo图片文件
* @param codeFile /二维码图片
* @param qrUrl /二维码存储的信息:vcard格式
* @param note /二维码描述信息
*/
public static byte[] drawLogoQRCodeByte(BufferedImage logo, ByteArrayOutputStream codeFile, String qrUrl, String note) {
public static byte[] drawLogoQRCodeByte(BufferedImage logo, ByteArrayOutputStream codeFile, String qrUrl,
String note) {
byte[] bs = null;
try {
MultiFormatWriter multiFormatWriter = new MultiFormatWriter();
......@@ -136,7 +140,7 @@ public class CodeUtil {
// 构建绘图对象
Graphics2D g = image.createGraphics();
// 读取Logo图片
//BufferedImage logo = ImageIO.read(logoFile);
// BufferedImage logo = ImageIO.read(logoFile);
// 开始绘制logo图片
g.drawImage(logo, width * 2 / 5, height * 2 / 5, width * 2 / 10, height * 2 / 10, null);
g.dispose();
......@@ -167,7 +171,8 @@ public class CodeUtil {
outg2.drawImage(outImage, 0, 0, outImage.getWidth(), outImage.getHeight(), null);
outg2.setColor(Color.BLACK);
outg2.setFont(new Font("宋体", Font.BOLD, 30)); // 字体、字型、字号
outg2.drawString(note2, 200 - strWidth2 / 2,outImage.getHeight() + (outImage2.getHeight() - outImage.getHeight()) / 2 + 5);
outg2.drawString(note2, 200 - strWidth2 / 2,
outImage.getHeight() + (outImage2.getHeight() - outImage.getHeight()) / 2 + 5);
outg2.dispose();
outImage2.flush();
outImage = outImage2;
......@@ -193,7 +198,8 @@ public class CodeUtil {
private static Map<EncodeHintType, Object> hints = new HashMap<EncodeHintType, Object>() {
private static final long serialVersionUID = 1L;
{
//put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);// 设置QR二维码的纠错级别(H为最高级别)具体级别信息
// put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);//
// 设置QR二维码的纠错级别(H为最高级别)具体级别信息
put(EncodeHintType.CHARACTER_SET, "utf-8");// 设置编码方式
put(EncodeHintType.MARGIN, 1);
}
......@@ -207,9 +213,7 @@ public class CodeUtil {
* @throws Exception
*/
public static File decoderBase64File(String targetPath, String base64Code) throws Exception {
System.out.println("base64Code="+base64Code);
System.out.println("targetPath="+targetPath);
byte[] buffer = new BASE64Decoder().decodeBuffer(base64Code);
byte[] buffer = Base64.decodeBase64(base64Code);
FileOutputStream out = new FileOutputStream(targetPath);
out.write(buffer);
out.close();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册