天天看點

java給圖檔添加平鋪文字水印并保留原像素(二)

批量讀取本地檔案夾下的圖檔,并逐一添加水印

import java.io.File;
import java.util.ArrayList;
import java.util.List;

/**
 * @Author: wangyh
 * @Date: 2020/12/1 16:20
 */
public class WaterMarkService {

    /**
     * 題目圖檔添加水印
     */
    public static void main(String[] args) {
    	//本地檔案夾路徑
        String path = "D:\\Documents\\WeChat Files\\wxid_mnz1tvs5yxb522\\FileStorage\\File\\2020-12\\2021全品國小國文總複習";
        File f = new File(path);
        List<String> list = new ArrayList<>();
        //擷取題目中需要添加水印的圖檔url路徑
        List<String> imagePath = getImagePath(f, list);
        for (String s : imagePath) {
            //添加水印
            ImageWatermarkUtil.ImageByText(s);
            System.out.println(s);
        }


    }

    /**
     * 遞歸讀取某個檔案夾下的圖檔,并傳回其位址
     * @param file
     * @param paths
     * @return
     */
    public static List<String> getImagePath(File file, List<String> paths) {

        if (!file.isDirectory()) {
            String fileName = file.getName();
            String fileType = fileName.substring(fileName.lastIndexOf(".") + 1);
            if (fileType.equalsIgnoreCase("jpg") || fileType.equalsIgnoreCase("png") || fileType.equalsIgnoreCase("jpeg")) {
                String absolutePath = file.getAbsolutePath();
                paths.add(absolutePath);
            }
        } else {
            File[] files = file.listFiles();
            for (File f : files) {
                getImagePath(f, paths);
            }
        }
        return paths;
    }


}

           

控制台列印的位址如下:

D:\Documents\WeChat Files\wxid_mnz1tvs5yxb522\FileStorage\File\2020-12\2021全品國小國文總複習\考點串講\第一部分\專題一\新考題.png
D:\Documents\WeChat Files\wxid_mnz1tvs5yxb522\FileStorage\File\2020-12\2021全品國小國文總複習\考點串講\第一部分\專題一\考點1.png
D:\Documents\WeChat Files\wxid_mnz1tvs5yxb522\FileStorage\File\2020-12\2021全品國小國文總複習\考點串講\第一部分\專題一\考點2.png
D:\Documents\WeChat Files\wxid_mnz1tvs5yxb522\FileStorage\File\2020-12\2021全品國小國文總複習\考點串講\第一部分\專題一\考點3.png
D:\Documents\WeChat Files\wxid_mnz1tvs5yxb522\FileStorage\File\2020-12\2021全品國小國文總複習\考點串講\第一部分\專題一\考點4.png
D:\Documents\WeChat Files\wxid_mnz1tvs5yxb522\FileStorage\File\2020-12\2021全品國小國文總複習\考點串講\第一部分\專題一\考點5.png
D:\Documents\WeChat Files\wxid_mnz1tvs5yxb522\FileStorage\File\2020-12\2021全品國小國文總複習\考點串講\第一部分\專題二\第1講\考點1.png
D:\Documents\WeChat Files\wxid_mnz1tvs5yxb522\FileStorage\File\2020-12\2021全品國小國文總複習\考點串講\第一部分\專題二\第1講\考點2.png
D:\Documents\WeChat Files\wxid_mnz1tvs5yxb522\FileStorage\File\2020-12\2021全品國小國文總複習\考點串講\第一部分\專題二\第1講\考點3.png
D:\Documents\WeChat Files\wxid_mnz1tvs5yxb522\FileStorage\File\2020-12\2021全品國小國文總複習\考點串講\第一部分\專題二\第1講\考點4.png
D:\Documents\WeChat Files\wxid_mnz1tvs5yxb522\FileStorage\File\2020-12\2021全品國小國文總複習\考點串講\第一部分\專題二\第2講\考點1.png
D:\Documents\WeChat Files\wxid_mnz1tvs5yxb522\FileStorage\File\2020-12\2021全品國小國文總複習\考點串講\第一部分\專題二\第2講\考點2.png
D:\Documents\WeChat Files\wxid_mnz1tvs5yxb522\FileStorage\File\2020-12\2021全品國小國文總複習\考點串講\第一部分\專題二\第2講\考點3.png
D:\Documents\WeChat Files\wxid_mnz1tvs5yxb522\FileStorage\File\2020-12\2021全品國小國文總複習\考點串講\第一部分\專題二\第2講\考點4.png
Process finished with exit code 0

           

java給圖檔添加平鋪文字水印并保留原像素(一)