添加水印密度维护

This commit is contained in:
yangjun 2024-07-15 16:46:53 +08:00
parent 397f1fccab
commit 017c2488c4
3 changed files with 19 additions and 6 deletions

View File

@ -123,6 +123,8 @@ public class MassageType implements Serializable {
private Integer qyType;//是否企业预约项目0不是 1是 private Integer qyType;//是否企业预约项目0不是 1是
private Integer qyMinNum;//企业预约最小次数
@TableField(exist = false) @TableField(exist = false)
private String classifyName; private String classifyName;

View File

@ -88,7 +88,8 @@ public class AliFileUploadController {
@ResponseBody @ResponseBody
public Result uploadWatermark(@RequestParam("file") MultipartFile file){ public Result uploadWatermark(@RequestParam("file") MultipartFile file){
String text = commonRepository.findOne(327).getValue(); String text = commonRepository.findOne(327).getValue();
file=ImageUtil.addWatermark(text,null,file); String midu = commonRepository.findOne(459).getValue();
file=ImageUtil.addWatermark(text,null,file,midu);
String value = commonRepository.findOne(234).getValue(); String value = commonRepository.findOne(234).getValue();
if("1".equals(value)){ if("1".equals(value)){
// 创建OSSClient实例 // 创建OSSClient实例

View File

@ -19,7 +19,7 @@ import java.net.URL;
@Component @Component
public class ImageUtil { public class ImageUtil {
public static MultipartFile addWatermark(String textWatermark,String imageWatermark,MultipartFile file){ public static MultipartFile addWatermark(String textWatermark,String imageWatermark,MultipartFile file,String midu){
// 读取原图片信息 得到文件 // 读取原图片信息 得到文件
File srcImgFile = null; File srcImgFile = null;
try { try {
@ -50,7 +50,7 @@ public class ImageUtil {
//如果文字水印有值就将其绘制在图的中间 //如果文字水印有值就将其绘制在图的中间
if(StringUtils.isNotEmpty(textWatermark)){ if(StringUtils.isNotEmpty(textWatermark)){
addTextWatermark(graphics2D,srcImgWidth,srcImgHeight,textWatermark); addTextWatermark(graphics2D,srcImgWidth,srcImgHeight,textWatermark,midu);
} }
if(StringUtils.isNotEmpty(imageWatermark)){ if(StringUtils.isNotEmpty(imageWatermark)){
//如果图片水印有值就将其绘制在图的右下角 //如果图片水印有值就将其绘制在图的右下角
@ -95,7 +95,7 @@ public class ImageUtil {
return multipartFile; return multipartFile;
} }
public static void addTextWatermark(Graphics2D graphics2D,int srcImgWidth,int srcImgHeight,String textWatermark){ public static void addTextWatermark(Graphics2D graphics2D,int srcImgWidth,int srcImgHeight,String textWatermark,String midu){
//-------------------------文字水印 start---------------------------- //-------------------------文字水印 start----------------------------
//根据图片的背景设置水印颜色 //根据图片的背景设置水印颜色
graphics2D.setColor(new Color(0,0,0)); graphics2D.setColor(new Color(0,0,0));
@ -108,12 +108,22 @@ public class ImageUtil {
int y=srcImgHeight / 10;*/ int y=srcImgHeight / 10;*/
//画出水印 第一个参数是水印内容第二个参数是x轴坐标第三个参数是y轴坐标 //画出水印 第一个参数是水印内容第二个参数是x轴坐标第三个参数是y轴坐标
// graphics2D.drawString(textWatermark, x, y); // graphics2D.drawString(textWatermark, x, y);
int width=40; int width=35;
if(textWatermark.length()>0){ if(textWatermark.length()>0){
width=width*textWatermark.length(); width=width*textWatermark.length();
} }
int miduNum = 80;
if(StringUtils.isNotEmpty(midu)){
try {
miduNum = Integer.parseInt(midu);
}catch (Exception e){
e.printStackTrace();
}
}
for (int i = -200; i <= srcImgWidth+200; i += width) { for (int i = -200; i <= srcImgWidth+200; i += width) {
for (int j = -200; j <= srcImgHeight+200; j += 80) { for (int j = -200; j <= srcImgHeight+200; j += miduNum) {
graphics2D.drawString(textWatermark, i, j); graphics2D.drawString(textWatermark, i, j);
} }
} }