java实现图片翻转

1. package Assis;
2.
3. import java.awt.geom.AffineTransform;
4. import java.awt.image.AffineTransformOp;
5. import java.awt.image.BufferedImage;
6. import java.io.IOException;
7. import java.net.URL;
8.
9. import javax.imageio.ImageIO;
10. import javax.swing.ImageIcon;
11. import javax.swing.JFrame;
12. import javax.swing.JLabel;
13. import javax.swing.JTabbedPane;
14.
15. /**
16. * 使图片水平翻转、垂直翻转、旋转180度
17. *
18. * @author Administrator
19. */
20. public class TestPicture {
21.
22. public static void main(String[] args) throws IOException {
23. BufferedImage sourceImage = ImageIO.read(getURL("/user.png"));
24. BufferedImage dstImage = null;
25. // AffineTransform transform = new AffineTransform(-1, 0, 0, 1,
26. // sourceImage.getWidth(), 0);// 水平翻转
27. AffineTransform transform = new AffineTransform(1, 0, 0, -1, 0,
28. sourceImage.getHeight());// 垂直翻转
29. // AffineTransform transform = new AffineTransform(-1, 0, 0, -1,
30. // sourceImage.getWidth(), sourceImage.getHeight());// 旋转180度
31. AffineTransformOp op = new AffineTransformOp(transform,
32. AffineTransformOp.TYPE_BILINEAR);
33. dstImage = op.filter(sourceImage, null);
34.
35. JTabbedPane tabbedPane = new JTabbedPane();
36. tabbedPane.add("Source Transform", new JLabel(
37. new ImageIcon(sourceImage)));
38. tabbedPane.add("Affine Transform", new JLabel(new ImageIcon(dstImage)));
39.
40. JFrame jframe = new JFrame();
41. jframe.setSize(800, 600);
42. jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
43. jframe.getContentPane().add(tabbedPane);
44. jframe.setVisible(true);
45. }
46.
47. /** 获得文件的绝对地址 */
48. public static final URL getURL(String path) {
49. return "".getClass().getResource(path);
50. }
51. }
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值