1.首先需要安装ImageMagick-6.8.4-Q16
2.
package img4java; import java.io.IOException; import org.im4java.core.ConvertCmd; import org.im4java.core.IM4JavaException; import org.im4java.core.IMOperation; import org.im4java.core.Info; import org.im4java.core.InfoException; import org.im4java.core.MogrifyCmd; import org.im4java.process.ProcessStarter; public class TestImg4Java { private final static String myPath="D:\\Program Files (x86)\\ImageMagick-6.8.4-Q16"; static{ ProcessStarter.setGlobalSearchPath(myPath); } /** * 裁剪图片 * @throws IOException * @throws InterruptedException * @throws IM4JavaException */ public void cropImg() throws IOException, InterruptedException, IM4JavaException{ ConvertCmd cmd = new ConvertCmd(); IMOperation opertation = new IMOperation(); opertation.addImage("C:\\Users\\zyl\\Desktop\\imgs\\5.jpg"); //宽 高 起点横坐标 起点纵坐标 opertation.crop(400, 300, 34, 100); opertation.addImage("C:\\Users\\zyl\\Desktop\\imgs\\img\\5.jpg"); cmd.run(opertation); } /** * 得到图片的信息 * @throws InfoException */ public void getImgInfo() throws InfoException{ Info info = new Info("C:\\Users\\zyl\\Desktop\\imgs\\1.jpg"); System.out.println(info.getImageHeight()); System.out.println(info.getImageWidth()); } /** * 等比缩放图片 * @throws IOException * @throws InterruptedException * @throws IM4JavaException */ public void resizeImg() throws IOException, InterruptedException, IM4JavaException{ ConvertCmd cmd = new ConvertCmd(); IMOperation opertion = new IMOperation(); opertion.addImage("C:\\Users\\zyl\\Desktop\\imgs\\1.jpg"); //等比缩放图片 opertion.resize(400, 400); opertion.addImage("C:\\Users\\zyl\\Desktop\\imgs\\img\\1.jpg"); cmd.run(opertion); } /** * 旋转图片 * @throws IOException * @throws InterruptedException * @throws IM4JavaException */ public void rotateImg() throws IOException, InterruptedException, IM4JavaException{ ConvertCmd cmd = new ConvertCmd(); IMOperation operation = new IMOperation(); operation.addImage("C:\\Users\\zyl\\Desktop\\imgs\\2.jpg"); operation.rotate(90.0); operation.addImage("C:\\Users\\zyl\\Desktop\\imgs\\2.jpg"); cmd.run(operation); } /** * 将图片编程黑白图片 * @throws IOException * @throws InterruptedException * @throws IM4JavaException */ public void monochrome() throws IOException, InterruptedException, IM4JavaException{ ConvertCmd cmd = new ConvertCmd(); IMOperation operation = new IMOperation(); operation.addImage("C:\\Users\\zyl\\Desktop\\imgs\\3.jpg"); operation.monochrome(); operation.addImage("C:\\Users\\zyl\\Desktop\\imgs\\3.jpg"); cmd.run(operation); } public void annotate() throws IOException, InterruptedException, IM4JavaException{ MogrifyCmd cmd = new MogrifyCmd(); IMOperation operation = new IMOperation(); operation.encoding("UTF-8"); //gravity 设置方位 NorthWest, North, NorthEast, West, Center, East, SouthWest, South, SouthEast annotate 设置偏移量 operation.font("C:\\Windows\\Fonts\\simsun.ttc").gravity("CENTER").pointsize(40).fill("red").annotate(10,10,10,10,"测试水印"); operation.addImage(); cmd.run(operation,"C:\\Users\\zyl\\Desktop\\imgs\\1.jpg"); } public static void main(String[] args) throws IOException, InterruptedException, IM4JavaException{ TestImg4Java test = new TestImg4Java(); // test.getImgInfo(); // test.resizeImg(); // test.rotateImg(); // test.monochrome(); test.annotate(); } }