LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

java生成缩略图的方法,带最大宽度和最大高度参数

zhenglin
2025年11月1日 14:53 本文热度 179

搜到有很多方法,按比例缩放后,图片都会变形和失真,假如使用下面这个函数则不会。因为宽和高不是固定死的。

下面这个例子,它缩放完后,宽度和高度都不会超过设定的阈值,假如超出阈值,会自动进行按比例缩放。因此,图片不会失真。


java生成缩略图的方法,输入图片的本地路径、最大宽度和最大高度。

假如宽度和高度任意一个超过阈值,都会对图片进行按比例缩放。


` public static void resizeImage(String originalPath, int maxWidth, int maxHeight) throws IOException {
File originalFile = new File(originalPath);
BufferedImage originalImage = ImageIO.read(originalFile);


    int originalWidth = originalImage.getWidth();

    int originalHeight = originalImage.getHeight();


    // 检查是否需要缩放

    if (originalWidth <= maxWidth && originalHeight <= maxHeight) {

        return; // 无需处理

    }


    // 计算缩放比例

    double widthRatio = (double) maxWidth / originalWidth;

    double heightRatio = (double) maxHeight / originalHeight;

    double ratio = Math.min(widthRatio, heightRatio);


    // 计算新尺寸

    int newWidth = (int) (originalWidth * ratio);

    int newHeight = (int) (originalHeight * ratio);


    // 执行缩放

    BufferedImage resizedImage = new BufferedImage(newWidth, newHeight, BufferedImage.TYPE_INT_RGB);

    Graphics2D graphics = resizedImage.createGraphics();

    graphics.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);

    graphics.drawImage(originalImage, 0, 0, newWidth, newHeight, null);

    graphics.dispose();


    // 获取文件扩展名

    String formatName = originalPath.substring(originalPath.lastIndexOf(".") + 1);


    try {

        // 覆盖原文件

        ImageIO.write(resizedImage, formatName, originalFile);

    }catch (Exception e){


    }

}`

最后保存之后,它会覆盖原来的图片文件。


参考文章:原文链接


该文章在 2025/11/1 14:53:07 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved