<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.1.0</version> </dependency>
操作圖片示例代碼:
import cn.hutool.core.img.ImgUtil; import cn.hutool.core.io.FileUtil; import javax.imageio.ImageIO; import java.awt.*; import java.awt.image.BufferedImage; import java.io.IOException; public class HutoolImage { public static void main(String[] args) { //提供兩種重載方法,按長寬縮放,按比例縮放 ImgUtil.scale( FileUtil.file("C:\\Users\\DELL\\Desktop\\animal.jpg"), FileUtil.file("C:\\Users\\DELL\\Desktop\\Image\\animal_result.jpg"), 0.5f //圖片縮放比例 ); //圖片按一定的尺寸裁剪 ImgUtil.cut( FileUtil.file("C:\\Users\\DELL\\Desktop\\animal.jpg"), FileUtil.file("C:\\Users\\DELL\\Desktop\\Image\\animal_small.jpg"), new Rectangle(200, 200, 100, 100)//裁剪的矩形區域 ); //按照行列裁剪切片 ImgUtil.slice(FileUtil.file("C:\\Users\\DELL\\Desktop\\animal.jpg"), FileUtil.file("C:\\Users\\DELL\\Desktop\\test\\"), 10, 10); //將圖片彩色轉黑白色 ImgUtil.gray(FileUtil.file("C:\\Users\\DELL\\Desktop\\animal.jpg"), FileUtil.file("C:\\Users\\DELL\\Desktop\\Image\\animal_black.jpg")); //給圖片添加文字水印 ImgUtil.pressText(// FileUtil.file("C:\\Users\\DELL\\Desktop\\animal.jpg"), // FileUtil.file("C:\\Users\\DELL\\Desktop\\Image\\animal_logo.jpg"), // "版權所有", Color.BLUE, //文字 new Font("宋體", Font.BOLD, 100), //字體 0, //x坐標修正值。 默認在中間,偏移量相對於中間偏移 0, //y坐標修正值。 默認在中間,偏移量相對於中間偏移 0.8f//透明度:alpha 必須是范圍 [0.0, 1.0] 之內(包含邊界值)的一個浮點數字 ); //旋轉圖片180度 BufferedImage image = null; try { image = (BufferedImage) ImgUtil.rotate(ImageIO.read(FileUtil.file("C:\\Users\\DELL\\Desktop\\animal.jpg")), 180); } catch (IOException e) { e.printStackTrace(); } ImgUtil.write(image, FileUtil.file("C:\\Users\\DELL\\Desktop\\Image\\animal_tangle.jpg")); //圖片水平翻轉 ImgUtil.flip(FileUtil.file("C:\\Users\\DELL\\Desktop\\animal.jpg"), FileUtil.file("C:\\Users\\DELL\\Desktop\\Image\\animal_flat.jpg")); //轉換圖片存儲格式 ImgUtil.convert(FileUtil.file("C:\\Users\\DELL\\Desktop\\animal.jpg"), FileUtil.file("C:\\Users\\DELL\\Desktop\\Image\\animal.png")); } }
效果圖: