package main.feng; import javax.imageio.ImageIO; import java.awt.*; import java.awt.geom.AffineTransform; import java.awt.image.AffineTransformOp; import java.awt.image.BufferedImage; import java.io.File; /** * Created by songfeng on 2017/2/16. */ public class ImgUtils { public static void main(String[] args) { try { ImgUtils.zoomImage("D:\\111.jpg", "D:\\222.jpg", 100, 200); ImgUtils.zoomImage("D:\\111.jpg", "D:\\333.jpg", 0.6); } catch (Exception e) { e.printStackTrace(); } } /* * 图片缩放,w,h为缩放的目标宽度和高度 * src为源文件目录,dest为缩放后保存目录 */ public static void zoomImage(String src,String dest,int w,int h) throws Exception { double wr=0,hr=0; File srcFile = new File(src); File destFile = new File(dest); BufferedImage bufImg = ImageIO.read(srcFile); //读取图片 Image Itemp = bufImg.getScaledInstance(w, h, bufImg.SCALE_SMOOTH);//设置缩放目标图片模板 wr=w*1.0/bufImg.getWidth(); //获取缩放比例 hr=h*1.0 / bufImg.getHeight(); AffineTransformOp ato = new AffineTransformOp(AffineTransform.getScaleInstance(wr, hr), null); Itemp = ato.filter(bufImg, null); try { ImageIO.write((BufferedImage) Itemp,dest.substring(dest.lastIndexOf(".")+1), destFile); //写入缩减后的图片 } catch (Exception ex) { ex.printStackTrace(); } } /* * 图片按比率缩放 * rate 缩放比率 */ public static void zoomImage(String src,String dest,double rate) throws Exception { File srcFile = new File(src); File destFile = new File(dest); long fileSize = srcFile.length(); if (rate >= 1d) //缩放比例小于1时,才进行缩放 return; BufferedImage bufImg = ImageIO.read(srcFile); Image Itemp = bufImg.getScaledInstance(bufImg.getWidth(), bufImg.getHeight(), bufImg.SCALE_SMOOTH); AffineTransformOp ato = new AffineTransformOp(AffineTransform.getScaleInstance(rate, rate), null); Itemp = ato.filter(bufImg, null); try { ImageIO.write((BufferedImage) Itemp, dest.substring(dest.lastIndexOf(".") + 1), destFile); } catch (Exception ex) { ex.printStackTrace(); } } }
相关推荐
应为图片太大,所以按照一定比例缩放
在Java编程语言中,处理图片是一项常见的任务,包括调整图片大小、等比例缩放、裁剪、压缩以及添加水印等。以下将详细介绍这些知识点: 1. **等比例缩放图片**: 在Java中,我们可以使用`java.awt.image....
### 如何使用Java进行图片尺寸调整与裁剪 在日常的软件开发中,经常会遇到对图片进行处理的需求,比如调整图片大小、裁剪图片等。本文将详细介绍如何使用Java实现图片处理,具体包括图片的尺寸调整和指定位置的裁剪...
"图片按比例缩放"就是其中一个核心操作,它涉及到图像处理的基本原理和技术。在本篇文章中,我们将深入探讨如何进行图片按比例缩放,以及这一过程中的相关知识点。 首先,我们来理解什么是“按比例缩放”。比例缩放...
java图片缩放 java缩略图 缩略图 java图片处理
缩放图像通常有两种方式:按比例缩放(等比例缩放)和指定新的尺寸(非等比例缩放)。等比例缩放可以保持原始图像的比例,避免拉伸或压缩图像。非等比例缩放可能会改变图像的宽高比。 - **等比例缩放**:可以使用...
在Java编程领域,图片处理是一项常见的任务,其中图像缩放是尤为重要的操作。当我们需要调整图片大小,以适应不同的应用场景,如网页、移动设备或打印等,就需要进行图像缩放。本文将深入探讨Java中实现图像缩放的...
二、图片比例处理 比例处理通常是指保持原图宽高比进行缩放。上述代码实际上已经实现了这一功能,通过计算保持原图比例的新高度,确保了缩放后图片不失真。 三、图片压缩 1. 使用`ImageIO`类: 除了缩放,我们还...
高清缩放图像、切割图像、图像类型转换、彩色转黑白、文字水印、图片水印等 功能非常强大,并且很清晰,请给好评:)
这款工具提供了丰富的功能,包括等比例缩放、裁切、添加水印以及复合操作等,极大地简化了开发者对图像进行后期处理的工作流程。接下来,我们将详细探讨这些功能及其使用方法。 一、等比例缩放 等比例缩放是图像...
在Java编程中,处理图像是一项常见的任务,包括但不限于图片的读取、显示、保存以及缩放等操作。本文将深入探讨如何使用ImageMagick库在Java中实现图片的缩放功能。 ImageMagick是一个强大的开源跨平台命令行工具集...
- **保持比例**:缩放时保持原始图片的比例,防止图像变形。 - **性能优化**:对于大量或大型GIF的处理,考虑使用多线程或异步处理以提高效率。 - **质量与体积**:缩放可能会影响图像质量,适当调整压缩级别可以...
"用JAVA获取视频文件中的帧图片并等比缩放" Java是获取视频文件中的帧图片并等比缩放的重要技术之一。该技术可以应用于视频处理、图像处理、多媒体处理等领域。通过使用Java语言和javacv库,我们可以快速获取视频...
### 按比例缩放图片的关键技术点与实现方法 #### 一、概念与应用场景 在数字图像处理领域,按比例缩放图片是一项常见的需求。它不仅被广泛应用于Web开发中,例如为了优化网页加载速度而对上传的图片进行尺寸调整;...
7. **配置参数**:在`PictureResize.java`程序中,很可能包含了配置图片缩放大小的参数,这样用户可以根据需求调整缩放比例。 总之,批量缩放图片的Java实现是一个结合了文件操作、图像处理和可能的并发编程的技术...
1. 先等比例缩放:计算出保持比例的新尺寸,确保图片不会变形。 2. 裁剪或填充:如果新尺寸小于原图,从中心裁剪;如果新尺寸大于原图,使用插值算法(如最近邻插值或双线性插值)填充空白区域。 四、CompressImg...
在Java开发中,图片上传、预览、剪切和缩放是常见的功能需求,尤其在Web应用中。这里,我们主要探讨如何实现这些功能,并基于`swfupload`这个库来构建一个完整的解决方案。 首先,`swfupload`是一个古老的Flash上传...
其中,`AffineTransformOp`是`java.awt.image`包下的一个关键类,它允许我们对图像进行几何变换,如旋转、缩放和位移等。在描述中提到的"打开图片文件,拖动滚动条,控制图片大小",就是通过调整缩放比例来实现的,...
采用双线性算法实现图片的缩放,今天,经过多次实现终于完成了图片的缩放,来给大家分享一下