ImageMagick +Im4java 处理上传的图片,截图,缩略图,保证高质量
2014-08-05 14:57
525 查看
ImageMagick 在windows下是不存在的,linux一般都有(最后也请确认下,可以参考官网,不过也可以简单的运行convert 命令判断)。
软件官网:im4java.sourceforge.net ps 请FQ。
ImageMagick官网: http://www.imagemagick.org/
简单操作操作:
软件官网:im4java.sourceforge.net ps 请FQ。
ImageMagick官网: http://www.imagemagick.org/
简单操作操作:
/** *@author 孙月江 */ import java.io.File; import org.im4java.core.ConvertCmd; import org.im4java.core.IMOperation; import org.im4java.process.ProcessStarter; import org.springframework.util.Assert; public class ImageCropper { private static final String ENV_OS = System.getProperty("os.name").toLowerCase(); private static final String ImageMagickPath = "D:\\software\\ImageMagick"; static { if (isWindows()) { Assert.isTrue(new File(ImageMagickPath).exists(), "you shoud first install ImageMagick software to use cropper in your windows system."); ProcessStarter.setGlobalSearchPath(ImageMagickPath); } } public static void main(String args[]) throws Exception { System.out.println(ENV_OS); String inputFileLocation = "d:/d.jpeg"; String outputFileLocation = "d:/d-res.jpeg"; boolean r = crop(inputFileLocation, outputFileLocation, 50, 50, 200, 140); System.out.println(r); } public static boolean isWindows() { return (ENV_OS.indexOf("win") >= 0); } /** * 按照给定的参数截取图片区域 * * @param imagePath 原图位置 * @param newPath 结果图位置 * @param x 横坐标 * @param y 纵坐标 * @param width 宽度 * @param height 高度 * @return */ public static boolean crop(String imagePath, String newPath, int x, int y, int width, int height) { boolean flag = false; try { IMOperation op = new IMOperation(); op.addImage(); /** width:裁剪的宽度 * height:裁剪的高度 * x:裁剪的横坐标 * y:裁剪纵坐标 */ op.crop(width, height, x, y); op.addImage(); ConvertCmd convert = new ConvertCmd(); convert.run(op, imagePath, newPath); flag = true; } catch (Exception e) { e.printStackTrace(); flag = false; } return flag; } /** * 缩放图片 * * @param imagePath * @param newPath * @param width * @param height * @return */ public static boolean scale(String imagePath, String newPath, int width, int height) { boolean flag = false; try { IMOperation op = new IMOperation(); op.addImage(); op.resize(width, height); op.addImage(); ConvertCmd convert = new ConvertCmd(); convert.run(op, imagePath, newPath); flag = true; } catch (Exception e) { e.printStackTrace(); flag = false; } return flag; } }
相关文章推荐
- ImageMagick for java 使用Jmagick处理高质量图片
- java图片处理工具之-ImageMagick+jmagick(二)
- ImageMagick for java 使用Jmagick压缩高质量图片
- ImageMagick for java 使用Jmagick压缩高质量图片
- 使用 Grapicmagick 和 Im4java 处理图片
- java图片处理工具之-ImageMagick+jmagick(一)
- java图片处理工具之-ImageMagick+jmagick(二)
- 使用 Grapicmagick 和 Im4java 处理图片
- [转]ImageMagick for java 使用Jmagick压缩高质量图片jmagick-win-6.3.9-Q16.zip
- 使用ImageMagick + Jmagick进行图片操作(续2)——实现高质量的图片处理
- ImageMagick for java 使用Jmagick压缩高质量图片
- ImageMagick+ PHP IMagick 图片压缩处理
- JAVA实现图片下载至缓存处理后,再上传FTP
- ASP.NET 不经保存,直接生成上传图片的等比例的高质量缩略图
- java中使用Uploadify上传图片Firefox出错处理302
- JAVA上传图片的缩放处理
- 图片通用上传文件类(处理水印,缩略图)
- asp.net 上传图片处理 水印 缩略图
- 视频上传过程中自动转换为flv格式并截图生成缩略图(Java调用命令实现)
- asp.net 上传图片并作处理 水印 缩略图(测试OK)