添加水印密度维护

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 qyMinNum;//企业预约最小次数
@TableField(exist = false)
private String classifyName;

View File

@ -88,7 +88,8 @@ public class AliFileUploadController {
@ResponseBody
public Result uploadWatermark(@RequestParam("file") MultipartFile file){
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();
if("1".equals(value)){
// 创建OSSClient实例

View File

@ -19,7 +19,7 @@ import java.net.URL;
@Component
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;
try {
@ -50,7 +50,7 @@ public class ImageUtil {
//如果文字水印有值就将其绘制在图的中间
if(StringUtils.isNotEmpty(textWatermark)){
addTextWatermark(graphics2D,srcImgWidth,srcImgHeight,textWatermark);
addTextWatermark(graphics2D,srcImgWidth,srcImgHeight,textWatermark,midu);
}
if(StringUtils.isNotEmpty(imageWatermark)){
//如果图片水印有值就将其绘制在图的右下角
@ -95,7 +95,7 @@ public class ImageUtil {
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----------------------------
//根据图片的背景设置水印颜色
graphics2D.setColor(new Color(0,0,0));
@ -108,12 +108,22 @@ public class ImageUtil {
int y=srcImgHeight / 10;*/
//画出水印 第一个参数是水印内容第二个参数是x轴坐标第三个参数是y轴坐标
// graphics2D.drawString(textWatermark, x, y);
int width=40;
int width=35;
if(textWatermark.length()>0){
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 j = -200; j <= srcImgHeight+200; j += 80) {
for (int j = -200; j <= srcImgHeight+200; j += miduNum) {
graphics2D.drawString(textWatermark, i, j);
}
}