java基础巩固-宇宙第一AiYWM:为了维持生计,做项目经验之~Thumbnails在java中处理图片时,出现了一个错误~整起

java用thumbnails处理图片出现can not read input

今天用Thumbnails在java中处理图片时,出现了一个错误:如下
Exception in thread “main” javax.imageio.IIOException: Can’t read input file!
at javax.imageio.ImageIO.read(ImageIO.java:1301)
at com.imooc.myo2o.util.ImageUtil.main(ImageUtil.java:35)

仔细排查代码以及图片和水印存放位置后,发现了此类代码需要注意的几个点:

Thumbnails.of(new File("D:绝对路径......1/itcat.jpg")).size(1920, 1080)
				.watermark(Positions.BOTTOM_RIGHT, ImageIO.read(new File(basepath + "/watermark.JPG")), 0.25f).outputQuality(0.8f)
				.toFile("D:绝对路径......2/itcatRectify.jpg");
  1. 绝对路径…1代表的是要处理的图片存放在本地的位置,可含中文,要保证图片在这个路径下

  2. 绝对路径…代表的是处理完成的图片存放在本地的位置以及新的名字,可含中文,要保证图片在这个路径对应准确

  3. ImageIO.read(new File(basepath + “/watermark.JPG”)),这一句有两种写法:
    1). ImageIO.read(new File(basepath + “/watermark.JPG”)),用这一种时,必须要保证basepath中不能含有中文(可以打印出来测试一下),有中文的话要用这一句处理一下`String basePath = Thread.currentThread().getContextClassLoader().getResource(“”).getPath();
    String basepath = URLDecoder.decode(basePath, “UTF-8”);//处理绝对路径中含有中文,处理完后就可以识别路径中的中文

    2).ImageIO.read(“直接放水印图片所在文件夹的绝对路径…/watermark.JPG”)),此时要保证水印图片在这个路径下
    Thumbnails在java中进行图片处理发生的错误
    改正过后

java基础巩固-宇宙第一AiYWM:为了维持生计,做项目经验之~Thumbnails在java中处理图片时,出现了一个错误~整起_第1张图片

附上connect方法的部分代码:

public static void main(String[] args) throws IOException {
		String basePath = Thread.currentThread().getContextClassLoader().getResource("").getPath();//获取到src/main/resource对应的绝对路径
		System.out.println(basePath);
		String basepath = URLDecoder.decode(basePath, "UTF-8");//处理绝对路径中含有中文,处理完后就可以识别路径中的中文
		System.out.println(basepath);
		
		//Thumbnails.of(new File(此处放的是需要处理的图片的绝对路径);.toFile(此处放的是处理完后的图片放在哪里以及叫什么);ImageIO.read(new File(此处放的是水印图片的绝对路径)),basePath一直报错不好用;
		Thumbnails.of(new File("D:/FindWorkByJava/JAVA_exerciseData/itcat.jpg")).size(1920, 1080)
				.watermark(Positions.BOTTOM_RIGHT, ImageIO.read(new File(basepath + "/watermark.JPG")), 0.25f).outputQuality(0.8f)
				.toFile("D:/FindWorkByJava/JAVA_exerciseData/itcatRectify.jpg");
	}

你可能感兴趣的:(java,开发语言,后端,Thumbnails,java处理图片)