本人小白一个,但是坚信时间可以让我们变得强大,在这次练手过程中,碰到了大大小小的问题,觉得有价值的都会记录下来,话不多说直接上代码
public static void main(String[] args) throws IOException {
String basePath = Thread.currentThread().getContextClassLoader()
.getResource("").getPath();
Thumbnails
.of(new File("/F:/tu/green.jpg"))
.size(200, 200)
.watermark(Positions.BOTTOM_RIGHT,
ImageIO.read(new File(basePath + "watermark.jpg")),
0.25f).outputQuality(0.8f).toFile("/F:/tu/greennew.jpg");
}
代码写完了,但是一直
报错:javax.imageio.IIOException: Can't read input file!
报错行是ImageIO.read(new File(basePath + "watermark.jpg")),这一句,怀疑是watermark.jpg没有读入,灵机一动 可能是在编译的时候,读取的basePath不对,于是打印了一下System.out.println(basePath);
控制台上果然不对!!!原因是路径中有个名称是有空格的,于是将空格去掉,重新运行,结果成功!运行后得到的图片为:
红框部分就是水印了,解决问题时,记得有个博客给的帮助很大,链接为:https://www.cnblogs.com/wanggangblog/p/5140387.html
他报错的原因是路径中多了一个点.,我由此想到会不会我的路径中也多了不合适的东西,然后就找到错误了。。感谢该博主的帮助。