From ddb9b1a011b26fec839618fe908dd7d1bacf4a9b Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Fri, 22 Oct 2021 20:02:36 +0800
Subject: [PATCH] 1.保安单位树接口修改 2.现场保安员,单位检查字段修改,接口修改 3.缴费记录接口修改 4.出资人,管理人员字段调整,接口修改,导出新增示例 5.考试中题目返回去除答案
---
src/main/java/org/springblade/common/utils/QRCodeUtil.java | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 54 insertions(+), 0 deletions(-)
diff --git a/src/main/java/org/springblade/common/utils/QRCodeUtil.java b/src/main/java/org/springblade/common/utils/QRCodeUtil.java
index df6c82c..17e951f 100644
--- a/src/main/java/org/springblade/common/utils/QRCodeUtil.java
+++ b/src/main/java/org/springblade/common/utils/QRCodeUtil.java
@@ -23,6 +23,8 @@
import java.net.URL;
import java.util.HashMap;
+import static com.google.zxing.client.j2se.MatrixToImageConfig.BLACK;
+import static com.google.zxing.client.j2se.MatrixToImageConfig.WHITE;
import static org.bouncycastle.asn1.x500.style.RFC4519Style.cn;
/**
@@ -226,6 +228,9 @@
hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
BitMatrix bitMatrix =qrCodeWriter.encode(text,BarcodeFormat.QR_CODE, width, height,hints);
+ //删除白边
+// BufferedImage bufferedImage = deleteWhite(bitMatrix);
+
//BitMatrix bitMatrix = qrCodeWriter.encode(text, BarcodeFormat.QR_CODE, width, height);
ByteArrayOutputStream pngOutputStream = new ByteArrayOutputStream();
@@ -234,4 +239,53 @@
return pngOutputStream.toByteArray();
}
+ /**
+ * 去白边的话,调用这个方法
+ * @param matrix
+ * @return
+ */
+ private static BufferedImage deleteWhite(BitMatrix matrix) {
+ int[] rec = matrix.getEnclosingRectangle();
+ int resWidth = rec[2] + 1;
+ int resHeight = rec[3] + 1;
+
+ BitMatrix resMatrix = new BitMatrix(resWidth, resHeight);
+ resMatrix.clear();
+ for (int i = 0; i < resWidth; i++) {
+ for (int j = 0; j < resHeight; j++) {
+ if (matrix.get(i + rec[0], j + rec[1]))
+ resMatrix.set(i, j);
+ }
+ }
+
+ int width = resMatrix.getWidth();
+ int height = resMatrix.getHeight();
+ BufferedImage image = new BufferedImage(width, height,
+ BufferedImage.TYPE_INT_RGB);
+ for (int x = 0; x < width; x++) {
+ for (int y = 0; y < height; y++) {
+ image.setRGB(x, y, resMatrix.get(x, y) ? BLACK
+ : WHITE);
+ }
+ }
+ return image;
+ }
+
+
+// private static BitMatrix deleteWhite(BitMatrix matrix) {
+// int[] rec = matrix.getEnclosingRectangle();
+// int resWidth = rec[2] + 1;
+// int resHeight = rec[3] + 1;
+//
+// BitMatrix resMatrix = new BitMatrix(resWidth, resHeight);
+// resMatrix.clear();
+// for (int i = 0; i < resWidth; i++) {
+// for (int j = 0; j < resHeight; j++) {
+// if (matrix.get(i + rec[0], j + rec[1]))
+// resMatrix.set(i, j);
+// }
+// }
+// return resMatrix;
+// }
+
}
--
Gitblit v1.9.3