TAG:
http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=121&threadID=13392&tstart=210 在linux下,自动生成缩略图,预览图,压缩图的办法(zt) 现在网上的很多代码只能在windows下使用,如果想在linux下使用, 必须要修改服务器的配置,能修改也好啊,但是偏偏没一个文章是 说清楚讲明白的。所以修改服务器配置的方法,对很多人来说,是不现实的, 经过本人多天努力,终于发现了以下的好办法,不但能在windows下使用,也能在linux下使用! 觉得好就up,发扬bt共享精神,让更多的人知道。 <%@ page import="javax.imageio.ImageIO" %> <%@ page import="javax.imageio.IIOException" %> <%@ page import="java.awt.image.BufferedImage" %>; <%@ page import="java.awt.Image" %> <%@ page import="java.io.File" %> <%@ page import="java.awt.image.AffineTransformOp" %> <%@ page import="java.awt.geom.AffineTransform" %> <% try { //如果是windows,File fi=new File("c:\\\\abc\\\\aaa.jpg"); File fi = new File("/home/images/aaa.jpg"); //大图文件 File fo = new File("/home/images/bbb.jpg"); //将要转换出的小图文件 int nw = 100;//新的长度 AffineTransform transform = new AffineTransform(); BufferedImage bis = ImageIO.read(fi); // int w = bis.getWidth();//原来的长度 int h = bis.getHeight();//原来的高度 double scale = (double)w/h; int nh = (nw*h)/w ;//新的高度 // double sx = (double)nw/w;//宽度比例 double sy = (double)nh/h;//高度比例 transform.setToScale(sx,sy); System.out.println(w + " " +h); // AffineTransformOp ato = new AffineTransformOp(transform,null); BufferedImage bid = new BufferedImage(nw,nh,BufferedImage.TYPE_3BYTE_BGR); ato.filter(bis,bid); ImageIO.write(bid,"jpeg",fo); } catch(Exception e) { out.println(e); } %> (iwgh) |