标题java操作图片进行添加水印操作
问题核心:
每张图片的大小是不同的,所以水印字体的大小要根据图片大小来确定,通常我们要加水印的水印不止一处比如时间,地点等。所以要对水印文字进行换行操作
解决思路:
1.水印文字的字体确定:极限情况(字体大小*字数)=图片宽度,所以我的做法是:字体大小=((图片宽度)/(字数))*0.9 =>保证字体不会充满,同时如果水印字数没有超过18个就按18个字进行水印字体计算(这样可以保证水印字数过少,字体过大的问题)
2.多行水印处理:根据水印的条数对y轴进行偏移
代码演示:
package com.example.hdhb.utils;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
/**
* @author Xu Ji An
* @email 768212312@qq.com
* 图片添加水印工具类
*/
public class XuRemarkUtil {
public static void main(String[] args) {
List<String> markList=new ArrayList<String>();
markList.add("小米科技有限责任公司")