Java实现对图片压缩指定大小。比如1260*945。如果图片尺寸大于,就压缩。小于,就拉伸到指定大小

需求:

Java实现对图片压缩指定大小。比如1260*945。如果图片尺寸大于,就压缩。小于,就拉伸到指定大小

代码实现:

import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;public class ImageProcessor {public static void main(String[] args) {String inputImagePath = "input.jpg"; // 输入图片路径String outputImagePath = "output.jpg"; // 输出图片路径int targetWidth = 1260;int targetHeight = 945;try {BufferedImage inputImage = ImageIO.read(new File(inputImagePath));// 获取原始图片的尺寸int originalWidth = inputImage.getWidth();int originalHeight = inputImage.getHeight();// 创建一个新的 BufferedImage,用于存放处理后的图片BufferedImage outputImage = new BufferedImage(targetWidth, targetHeight, inputImage.getType());// 创建一个 Graphics2D 对象,用于绘制新图片Graphics2D graphics = outputImage.createGraphics();// 如果原始图片尺寸大于目标尺寸,则进行压缩if (originalWidth > targetWidth || originalHeight > targetHeight) {Image scaledImage = inputImage.getScaledInstance(targetWidth, targetHeight, Image.SCALE_SMOOTH);graphics.drawImage(scaledImage, 0, 0, null);} else {// 如果原始图片尺寸小于目标尺寸,则进行拉伸graphics.drawImage(inputImage, 0, 0, targetWidth, targetHeight, null);}// 释放资源graphics.dispose();// 保存处理后的图片ImageIO.write(outputImage, "jpg", new File(outputImagePath));System.out.println("图片处理完成。");} catch (IOException e) {e.printStackTrace();}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/282223.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringIOC之作用域Scope

博主介绍:✌全网粉丝5W+,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验✌ 博主作品:《Java项目案例》主要基于SpringBoot+MyBatis/MyBatis-plus+…

21--集合小案例

案例--图书管理系统 1.创建实体类Book package com.work.pojo; /** *Author: 憨憨浩浩 *CreateTime: 2023-12-16 17:27 *Description: Book实体类 */ public class Book {private int id; // 编号private String name; // 图书名称private String author;…

〖大前端 - 基础入门三大核心之JS篇(56)〗- 内置构造函数

说明:该文属于 大前端全栈架构白宝书专栏,目前阶段免费,如需要项目实战或者是体系化资源,文末名片加V!作者:哈哥撩编程,十余年工作经验, 从事过全栈研发、产品经理等工作,目前在公司…

人工智能优化问题的探索与创新

导言 人工智能优化问题一直是研究和应用领域的关键挑战。人工智能优化问题的发展在各个领域取得了显著进展,但伴随着技术的提升也带来了一些潜在的弊端。本文将深入研究人工智能在解决优化问题方面的突破、算法原理以及在实际应用中的表现。 1. 优化问题的背景与复…

【Linux】在vim中批量注释与批量取消注释

在vim编辑器中,批量注释和取消注释的操作可以通过进入V-BLOCK模式、选择要注释或取消注释的内容、输入注释符号或选中已有的注释符号和按键完成。这些操作可以大大提高代码或文本的编写和修改效率,是vim编辑器中常用的操作之一。 1.在vim中批量注释的步…

Linux中的堡垒机搭建以及使用

JumpServer搭建 安装应用包 curl -sSL https://resource.fit2cloud.com/jumpserver/jumpserver/releases/latest/download/quick_start.sh | bash 一路回车即可安装完毕(可根据需求更改) JumpServer的 配置文件路径 /opt/jumpserver/config/config.tx…

前后端分离开发

前期 前后端混合开发 后期 前后端分离开发

为什么选择计算机专业?

选择原因 选择计算机专业的原因有很多,以下是一些常见的原因: 高薪就业:计算机专业是目前市场需求最大的专业之一,毕业生的就业前景非常好,薪资也相对较高。 技术更新快:计算机技术更新非常快,每年都会有新的技术和工具出现,选择计算机专业可以让你不断学习和掌握新的…

Spark基础入门

spark基础入门 环境搭建 localstandlonespark ha spark code spark corespark sqlspark streaming 环境搭建 准备工作 创建安装目录 mkdir /opt/soft cd /opt/soft下载scala wget https://downloads.lightbend.com/scala/2.13.12/scala-2.13.12.tgz -P /opt/soft解压scala…

docker compose部署wordpress

准备机器: 192.168.58.151 (关闭防火墙和selinux) 安装好docker服务 (详细参照:http://t.csdnimg.cn/usG0s 中的国内源安装docker) 部署wordpress: 创建目录: [rootdocker ~]# mkdi…

python学习3

大家好,今天又来更新python学习篇了。本次的内容比较简单,时描述性统计代码,直接给出所有代码,如下: import pandas as pd from scipy.stats import fisher_exact from fuzzywuzzy import fuzz from fuzzywuzzy impor…

仿易订货的订货系统源码一般多少钱

易订货是一款面向中小企业的B2B电子商务平台,旨在提供一站式的采购和销售解决方案。不少批发商贸企业在数字化转型的时候会采用订货系统,今天我们谈谈仿易订货的订货系统源码需要多少钱。 这款订货系统是一款SaaS,所以它是不面向市场销售源码…