SpringSide开发实战(五):兵马未动,粮草先行 - 编程入门网
指定它进行剪裁以后再 缩放。为什么要这么设计,请大家看看如下的效果图,对于下面这两张美女图:
SpringSide开发实战(五):兵马未动,粮草先行(3)时间:2011-05-07 blogjava 海边沫沫如果我们只通过简单的缩放来生成缩略图,那么在网页上的布局效果为: 如果我们通过先剪切后缩放的效果来生成缩略图,那么在网页上布局的效果为: SpringSide开发实战(五):兵马未动,粮草先行(4)时间:2011-05-07 blogjava 海边沫沫可以看到通过第二种方式生成的缩略图布局要漂亮一些,但是会损失图片的信息 。因此,两种方式各有优劣。所以在设计的时候就设计为能够让用户灵活配置。 对 于有些网友反映的gif动画经过缩放以后就不能动了,这个问题的主要原因是因为Java SDK 1.4和1.5版本的ImageIO类只能读gif格式的文件,而不能写gif格式的文件,因此,对于gif 格式的文件,生成的缩略图只能用png格式代替,在我的设计中,我准备让bmp格式的文件也 让png格式代替,因为png格式生成的文件更小,而且也不损失图片质量。至于Java SDK 1.4 和1.5版不支持写gif格式的文件,可以查看Java文档,下面是截图: 最新推 出的Java SDK 6是可以写gif格式的文件的,因此如果要解决这个问题,可以使用最新的JDK ,下面是文档截图: SpringSide开发实战(五):兵马未动,粮草先行(5)时间:2011-05-07 blogjava 海边沫沫下面是 我写的生成缩略图和生成验证码的ImageUtil类的源代码: package com.xkland.util; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.File; import java.awt.Image; import java.awt.Graphics2D; import java.util.Random; import java.awt.Font; import javax.servlet.http.HttpSession; public class ImageUtil { private String sourceDir; // 图片的存放路径 private String destinationDir; // 缩略图的存放路径 private String mode; // 生成缩略 图的模式,可选ScaleOnly或ClipAndScale private String width; // 缩略图 的宽度 private String height; // 缩略图的高度 private String characterStorage; // 用来生成验证码的字符仓库 // 以下代码段是为了 使用Spring注入属性 public void setCharacterStorage(String characterStorage) { this .characterStorage = characterStorage; } public void setDestinationDir(String destinationDir) { this .destinationDir = destinationDir; } public void setHeight(String height) { this .height = height; } public void setMode(String mode) { this .mode = mode; } public void setSourceDir(String sourceDir) { this .sourceDir = sourceDir; } public void setWidth(String width) { this .width = width; } // 生成缩略图的方法,默认缩略图的文件名和原图相同,存放路径不同 public void createMicroImage(String fileName) throws Exception { // 判断sourceDir的格式是否为以"\"结尾,并生成 完整的路径 String sourceFileName; String destinationFileName; if (sourceDir.lastIndexOf( '' \\ '' ) != (sourceDir.length() - 1 )) { sourceFileName = sourceDir + " \\ " + fileName; |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |