`

java图片等比例缩放

    博客分类:
  • J2SE
 
阅读更多
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处理图片大小等比例缩放,自定义修改图片大小,截取,水印

    在Java编程语言中,处理图片是一项常见的任务,包括调整图片大小、等比例缩放、裁剪、压缩以及添加水印等。以下将详细介绍这些知识点: 1. **等比例缩放图片**: 在Java中,我们可以使用`java.awt.image....

    用java如何把图片处理到指定大小

    ### 如何使用Java进行图片尺寸调整与裁剪 在日常的软件开发中,经常会遇到对图片进行处理的需求,比如调整图片大小、裁剪图片等。本文将详细介绍如何使用Java实现图片处理,具体包括图片的尺寸调整和指定位置的裁剪...

    图片按比例缩放

    "图片按比例缩放"就是其中一个核心操作,它涉及到图像处理的基本原理和技术。在本篇文章中,我们将深入探讨如何进行图片按比例缩放,以及这一过程中的相关知识点。 首先,我们来理解什么是“按比例缩放”。比例缩放...

    java图片缩放 java缩略图 缩略图 java图片处理

    java图片缩放 java缩略图 缩略图 java图片处理

    java从图片缩放

    缩放图像通常有两种方式:按比例缩放(等比例缩放)和指定新的尺寸(非等比例缩放)。等比例缩放可以保持原始图像的比例,避免拉伸或压缩图像。非等比例缩放可能会改变图像的宽高比。 - **等比例缩放**:可以使用...

    Java图像缩放 图片缩放

    在Java编程领域,图片处理是一项常见的任务,其中图像缩放是尤为重要的操作。当我们需要调整图片大小,以适应不同的应用场景,如网页、移动设备或打印等,就需要进行图像缩放。本文将深入探讨Java中实现图像缩放的...

    java图片缩放处理

    二、图片比例处理 比例处理通常是指保持原图宽高比进行缩放。上述代码实际上已经实现了这一功能,通过计算保持原图比例的新高度,确保了缩放后图片不失真。 三、图片压缩 1. 使用`ImageIO`类: 除了缩放,我们还...

    java高清图片缩放、压缩、切割、水印源码例子

    高清缩放图像、切割图像、图像类型转换、彩色转黑白、文字水印、图片水印等 功能非常强大,并且很清晰,请给好评:)

    阿里巴巴 simpleimage 图片处理工具类 功能 等比例缩放 裁切 加水印 复合操作例子和jar包

    这款工具提供了丰富的功能,包括等比例缩放、裁切、添加水印以及复合操作等,极大地简化了开发者对图像进行后期处理的工作流程。接下来,我们将详细探讨这些功能及其使用方法。 一、等比例缩放 等比例缩放是图像...

    java实现图片缩放

    在Java编程中,处理图像是一项常见的任务,包括但不限于图片的读取、显示、保存以及缩放等操作。本文将深入探讨如何使用ImageMagick库在Java中实现图片的缩放功能。 ImageMagick是一个强大的开源跨平台命令行工具集...

    java gif图片缩放代码及帮助文档

    - **保持比例**:缩放时保持原始图片的比例,防止图像变形。 - **性能优化**:对于大量或大型GIF的处理,考虑使用多线程或异步处理以提高效率。 - **质量与体积**:缩放可能会影响图像质量,适当调整压缩级别可以...

    用JAVA获取视频文件中的帧图片并等比缩放

    "用JAVA获取视频文件中的帧图片并等比缩放" Java是获取视频文件中的帧图片并等比缩放的重要技术之一。该技术可以应用于视频处理、图像处理、多媒体处理等领域。通过使用Java语言和javacv库,我们可以快速获取视频...

    按比例缩放图片

    ### 按比例缩放图片的关键技术点与实现方法 #### 一、概念与应用场景 在数字图像处理领域,按比例缩放图片是一项常见的需求。它不仅被广泛应用于Web开发中,例如为了优化网页加载速度而对上传的图片进行尺寸调整;...

    批量缩放图片的Java实现

    7. **配置参数**:在`PictureResize.java`程序中,很可能包含了配置图片缩放大小的参数,这样用户可以根据需求调整缩放比例。 总之,批量缩放图片的Java实现是一个结合了文件操作、图像处理和可能的并发编程的技术...

    图片压缩,等比例放缩图片

    1. 先等比例缩放:计算出保持比例的新尺寸,确保图片不会变形。 2. 裁剪或填充:如果新尺寸小于原图,从中心裁剪;如果新尺寸大于原图,使用插值算法(如最近邻插值或双线性插值)填充空白区域。 四、CompressImg...

    java 图片上传,可预览可剪切可缩放

    在Java开发中,图片上传、预览、剪切和缩放是常见的功能需求,尤其在Web应用中。这里,我们主要探讨如何实现这些功能,并基于`swfupload`这个库来构建一个完整的解决方案。 首先,`swfupload`是一个古老的Flash上传...

    java 图片的缩放与拉伸

    其中,`AffineTransformOp`是`java.awt.image`包下的一个关键类,它允许我们对图像进行几何变换,如旋转、缩放和位移等。在描述中提到的"打开图片文件,拖动滚动条,控制图片大小",就是通过调整缩放比例来实现的,...

    java利用双线性算法实现图片缩放

    采用双线性算法实现图片的缩放,今天,经过多次实现终于完成了图片的缩放,来给大家分享一下

Global site tag (gtag.js) - Google Analytics