From 2db1aa88e8ab53096a936163d686b90d8e056a99 Mon Sep 17 00:00:00 2001
From: rain <167982779@qq.com>
Date: Wed, 21 Aug 2024 23:18:33 +0800
Subject: [PATCH] 国土对接返回信息加密
---
src/main/java/com/dji/sample/territory/utils/WaterMarkUtil.java | 36 ++++++++++++++++++++++++++----------
1 files changed, 26 insertions(+), 10 deletions(-)
diff --git a/src/main/java/com/dji/sample/territory/utils/WaterMarkUtil.java b/src/main/java/com/dji/sample/territory/utils/WaterMarkUtil.java
index 6e971b3..a0e8be7 100644
--- a/src/main/java/com/dji/sample/territory/utils/WaterMarkUtil.java
+++ b/src/main/java/com/dji/sample/territory/utils/WaterMarkUtil.java
@@ -1,5 +1,7 @@
package com.dji.sample.territory.utils;
+import com.dji.sample.media.service.IFileService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.imageio.ImageIO;
@@ -10,11 +12,10 @@
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
-
-import static com.dji.sample.territory.utils.ImgZipUtil.compressImageAndGetFile;
-
@Component
public class WaterMarkUtil {
+ @Autowired
+ private IFileService fileService;
/**
* 将图片加上水印并压缩
*
@@ -25,7 +26,7 @@
* @return 添加水印并压缩后的图片文件。
* @throws IOException 如果读取或保存图片失败。
*/
- public static File addWatermark(File file, Long pssj, Double lat, Double lng, Double angles) throws IOException, FontFormatException {
+ public static File addWatermark(File file, Long pssj, Double lat, Double lng, Double angles, int type) throws IOException, FontFormatException {
double anglses = convertAngle(angles);
String angel = angle(anglses);
Long timestamp = pssj; // 例如:Unix 时间戳(以秒为单位)
@@ -38,12 +39,15 @@
} catch (IOException e) {
throw new IllegalArgumentException("读取图片失败" + e.getMessage());
}
-
+// fileService.saveMarkFile(lotInfo.getWorkspaceId(),mediaFile,file1);
// 创建 Graphics2D 对象以在图像上绘制水印
Graphics2D g2d = originalImage.createGraphics();
// 设置水印文字 "江西调查云"
String watermarkText = "江西调查云";
+ if (type == 1){
+ watermarkText = "国土调查云";
+ }
float alpha = 0.8f; // 设置透明度为 0.7
AlphaComposite alphaComposite = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alpha);
g2d.setComposite(alphaComposite);
@@ -63,8 +67,8 @@
alphaComposite = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.7f);
g2d.setComposite(alphaComposite);
String extraInfo = String.format("Lon:%.7f Lat:%.7f\n%s %s", lng, lat, angel, sd);
-
File fontFile = new File("/usr/share/fonts/MiSans-Normal.ttf"); // 替换为你的字体文件路径
+// File fontFile = new File("src/main/resources/MiSans-Normal.ttf"); // 替换为你的字体文件路径
Font customFont = Font.createFont(Font.TRUETYPE_FONT, fontFile).deriveFont(36.00F);
// 注册字体
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
@@ -129,27 +133,39 @@
if (angle > 0 && angle < 45) {
return "北偏东";
}
- if (angle >= 45 && angle < 90) {
+ if (angle > 45 && angle < 90) {
return "东偏北";
}
if (angle > 90 && angle < 135) {
return "东偏南";
}
- if (angle >= 135 && angle < 180) {
+ if (angle > 135 && angle < 180) {
return "南偏东";
}
- if (angle >= 315 && angle < 360) {
+ if (angle > 315 && angle < 360) {
return "北偏西";
}
if (angle > 270 && angle < 315) {
return "西偏北";
}
- if (angle >= 225 && angle < 270) {
+ if (angle > 225 && angle < 270) {
return "西偏南";
}
if (angle > 180 && angle < 225) {
return "南偏西";
}
+ if (angle == 45) {
+ return "东北";
+ }
+ if (angle == 135) {
+ return "东南";
+ }
+ if (angle == 225) {
+ return "西南";
+ }
+ if (angle == 315) {
+ return "西北";
+ }
if (angle == 0 || angle == 360) {
return "正北";
}
--
Gitblit v1.9.3