`
高军威
  • 浏览: 181076 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java图片等比例缩放

阅读更多
需要引入jar包

package com.gjw.imagetest;

import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.imageio.ImageIO;

import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;

public class ImagePress
{
    public static void main(String[] args)
    {
        try
        {
            File imgageio = new File("C:\\image\\big.jpg");
            File imgageout = new File("C:\\image\\big22.png");
            dosomething(imgageio,imgageout,50,50);
        } catch (FileNotFoundException e)
        {
            e.printStackTrace();
        }catch (IOException e)
        {
            e.printStackTrace();
        }
    }
    public static boolean dosomething(File imagesrc,File imageout,int min_width,int min_height) throws IOException
    {
        if (!imagesrc.exists())
        {
            System.out.println("The original image does not exist!");
            return false;
        }
        Image src = ImageIO.read(imagesrc);
        if (src.getWidth(null)==-1)
        {
            System.out.println("image type problem!");
            return false;
        }else {
            if (src.getWidth(null)>min_width || src.getHeight(null)>min_height)
            {
                double scale = 0.0;
                double w_scale = 0.0;
                double h_scale = 0.0;
                if (src.getWidth(null)>min_width)
                    w_scale = min_width/(double)src.getWidth(null);
                if (src.getHeight(null)>min_height)
                    h_scale = min_height/(double)src.getHeight(null);
                scale=w_scale<h_scale?w_scale:h_scale;
                System.out.println("scaling:="+scale);
                if (scale<1)
                {
                    int width = (int) (src.getWidth(null) * scale);
                    int height = (int) (src.getHeight(null) * scale);
                    System.out.println("w:"+width);
                    System.out.println("h:"+height);
                    /* java提供了4个缩放的微调选项
                     * image.SCALE_SMOOTH //平滑优先
                     * image.SCALE_FAST//速度优先
                     * image.SCALE_AREA_AVERAGING //区域均值
                     * image.SCALE_REPLICATE //像素复制型缩放
                     * image.SCALE_DEFAULT //默认缩放模式
                     * */
                    BufferedImage bufferedImage = new BufferedImage(width, height,BufferedImage.TYPE_INT_BGR);
                    bufferedImage.getGraphics().drawImage(src.getScaledInstance(width, height, Image.SCALE_SMOOTH),0, 0, null);
                    FileOutputStream out = new FileOutputStream(imageout);
                    JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
                    encoder.encode( bufferedImage);
                    out.close();
                    System.out.println("photo compression success!");
                    return true;
                }
            }
            System.out.println("Don't need to compress the images!");
            return true;
        }
    }
}

分享到:
评论

相关推荐

    图片按照等比例缩放

    应为图片太大,所以按照一定比例缩放

    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