图片翻转

前言

在开发中,有时候需要将图片翻转,可以使用Graphics2D将图片翻转

图片翻转

下列程序将图片顺时针翻转90度

java 复制代码
import java.awt.Graphics2D;

import java.awt.geom.AffineTransform;


import java.awt.image.BufferedImage;


import java.io.File;


import javax.imageio.ImageIO;


public class ImageRotate {


    public static void main(String[] args) throws Exception {


        // 读取原始图片


        BufferedImage srcImage = ImageIO.read(new File("d:/hello/1.jpeg"));


        // 创建一个新的BufferedImage对象,用于存储旋转后的图片


        BufferedImage destImage = new BufferedImage(srcImage.getWidth(), srcImage.getHeight(), srcImage.getType());


        // 获取Graphics2D对象


        Graphics2D graphics2D = (Graphics2D) destImage.getGraphics();


        // 创建一个新的AffineTransform对象,并设置其为旋转变换


        AffineTransform transform = new AffineTransform();


        transform.rotate(Math.toRadians(90), srcImage.getWidth() / 2, srcImage.getHeight() / 2);


        // 使用Graphics2D对象的drawImage方法,将原始图片按照旋转变换绘制到新的BufferedImage对象上


        graphics2D.drawImage(srcImage, transform, null);


        // 将旋转后的图片保存到文件


        ImageIO.write(destImage, "JPG", new File("d:/hello/dest.jpg"));


    }


}

原图片

翻转后图片

总结

可以使用Graphics2D将图片翻转

相关推荐
岁岁岁平安3 分钟前
SpringBoot3+WebSocket+Vue3+TypeScript实现简易在线聊天室(附完整源码参考)
java·spring boot·websocket·网络协议·typescript·vue
菜鸟plus+24 分钟前
Captcha
java·开发语言
那个松鼠很眼熟w27 分钟前
8.设计模式-两阶段终止(优雅停机)
java
聪明的笨猪猪37 分钟前
Java 高并发多线程 “基础”面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试
猎豹奕叔1 小时前
JD到家商品系统架构设计演进
后端
惬意小西瓜1 小时前
3.java常用类知识点
java·开发语言·分类
YA3331 小时前
java设计模式五、适配器模式
java·设计模式·适配器模式
阑梦清川1 小时前
深入理解动静态库和ELF文件格式
后端
猎豹奕叔1 小时前
面试官:类中两个方法加同步锁,多线程能同时访问吗?
后端
马里奥Mario1 小时前
电商系统商品三四级页接口性能优化记录存档
后端