使用此小程序,读取图片,按照自定义的宽度和长度生成一张新的图片,可作为原图的缩略图。
代码如下:(基于《疯狂Java讲义》第11章稍作修改)
import java.io.*;
import java.awt.*;
import java.awt.image.*;
import javax.imageio.*;
public class ZoomImages
{
// 下面两个常量设置缩小后图片的大小
private final int WIDTH = 80;
private final int HEIGHT = 60;
// 定义个BuffedImage对象,用于保存缩小后的位图
BufferedImage image = new BufferedImage(WIDTH , HEIGHT
, BufferedImage. TYPE_INT_RGB);
Graphics g = image.getGraphics();
public void zoom()throws Exception
{
// 读取原始位图
Image srcImage = ImageIO.read(new File("D:/Since_20160627/Java疯狂讲义代码/11/11.8/image/board.jpg"));
// 将原始位图缩小后绘制到image图像中
g.drawImage(srcImage , 0 , 0 , WIDTH , HEIGHT , null);
// 将image图像文件输出到磁盘文件中。
ImageIO.write(image , "jpeg"
, new File(System.currentTimeMillis() + ".jpg"));
}
public static void main(String[] args)throws Exception
{
new ZoomImages().zoom();
}
}
运行结果:
原图:
转换后:
不知道为什么,似乎转换后图片的轮廓都变了,看不出棋盘的样子了。(留待后续学习、探索)