改变图片的宽和高

自己想要实现的图片无损压缩实现不了(500W像素的图片,不知道为什么压缩后还是那么大),忽然看到windows画图中的改变图片的宽和高的功能,对呀,既然无损压缩做不了,那就改变一下图片的宽和高,简单的弄一下吧,损就损吧。

// 将要处理的图片读入
			BufferedImage img = ImageIO.read(new File("D:\\Program Files\\myftp\\1.jpg"));
			int w = img.getWidth();
			int h = img.getHeight();
			
			// 要输出的文件
			FileOutputStream newImgFile = new FileOutputStream("D:\\Program Files\\myftp\\greate.jpg");
			// 新建缓存图片对象
			BufferedImage newImg = new BufferedImage(w/2, h/2,BufferedImage.TYPE_INT_RGB);
			// 用新建的对象将要处理的图片重新绘制,宽高是原来的一半
			newImg.getGraphics().drawImage(img, 0, 0, w/2, h/2, null);
			
			JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(newImgFile);
			// 将图片重新编码
			encoder.encode(newImg);
			newImgFile.close();

 哈哈,图片还是那么清晰,毕竟500W像素嘛,嗯,嗯····

你可能感兴趣的:(windows)