/**td6Linux联盟 *td6Linux联盟 * @param imgtd6Linux联盟 * @param desttd6Linux联盟 * @throws JimiExceptiontd6Linux联盟 */td6Linux联盟 public void toTIF(Image img, String dest) throws JimiException {td6Linux联盟 if (!dest.toLowerCase().trim().endsWith("tif")) {td6Linux联盟 dest += ".tif";td6Linux联盟 System.out.println("Overriding to TIF, output file: " + dest);td6Linux联盟 }td6Linux联盟 dest = dest.substring(0, dest.lastIndexOf(".")) + ".jpg";td6Linux联盟 JimiWriter writer = Jimi.createJimiWriter(dest);td6Linux联盟 writer.setSource(img);td6Linux联盟 dest = dest.substring(0, dest.lastIndexOf(".")) + ".tif";td6Linux联盟 writer.putImage(dest);td6Linux联盟 } /**td6Linux联盟 * 线性改变图片尺寸(可同时改变图片格式)td6Linux联盟 *td6Linux联盟 * @param sourcetd6Linux联盟 * 源文件完整路径td6Linux联盟 * @param desctd6Linux联盟 * 目标文件完整路径td6Linux联盟 * @param instd6Linux联盟 * 放大/缩小比率td6Linux联盟 * @throws JimiExceptiontd6Linux联盟 * @throws IOExceptiontd6Linux联盟 */td6Linux联盟 public void changeDimension(String source, String desc, double ins)td6Linux联盟 throws JimiException, IOException {td6Linux联盟 String temp = desc;td6Linux联盟 File _file = null;td6Linux联盟 if (desc == null || desc.trim().equals(""))td6Linux联盟 desc = source;td6Linux联盟 if (!desc.toLowerCase().trim().endsWith("jpg")) {td6Linux联盟 temp = desc.trim() + ".jpg";td6Linux联盟 }td6Linux联盟 this.toJPG(source, temp, 75);td6Linux联盟 _file = new File(temp); // 读入文件 Image src = javax.imageio.ImageIO.read(_file); // 构造Image对象td6Linux联盟 double wideth = (double) src.getWidth(null); // 得到源图宽td6Linux联盟 double height = (double) src.getHeight(null); // 得到源图长td6Linux联盟 int iWideth = (int) (wideth * ins);td6Linux联盟 int iHeight = (int) (height * ins);td6Linux联盟 BufferedImage tag = new BufferedImage(iWideth, iHeight,td6Linux联盟 BufferedImage.TYPE_INT_RGB);td6Linux联盟 tag.getGraphics().drawImage(src, 0, 0, iWideth, iHeight, null); td6Linux联盟 // 绘制缩小后的图 if (!temp.trim().equals(desc))td6Linux联盟 _file.deleteOnExit(); if (desc.toLowerCase().trim().endsWith("gif")) {td6Linux联盟 AnimatedGifEncoder e = new AnimatedGifEncoder();td6Linux联盟 e.start(desc);td6Linux联盟 e.addFrame(tag);td6Linux联盟 e.finish();td6Linux联盟 } else if (desc.toLowerCase().trim().endsWith("tif") || desc.toLowerCase().trim().endsWith("tiff")) {td6Linux联盟 this.toTIF(tag, desc);td6Linux联盟 } else {td6Linux联盟 JimiWriter writer = Jimi.createJimiWriter(desc);td6Linux联盟 writer.setSource(tag);td6Linux联盟 writer.putImage(desc);td6Linux联盟 }td6Linux联盟 }
|