Java+Swing可视化图像处理软件

  • 一、系统介绍
  • 二、功能展示
    • 1.图片裁剪
    • 2.图片缩放
    • 3.图片旋转
    • 4.图像灰度处理
    • 5.图像变形
    • 6.图像扭曲
    • 7.图像移动
  • 三、系统实现
    • 1.ImageProcessing.java
  • 四、其它
    • 1.其他系统实现
    • 2.获取源码

一、系统介绍

该系统实现了图片裁剪、缩放、旋转、图像灰度处理、变形、扭曲、保存、移动。

二、功能展示

1.图片裁剪

2.图片缩放

3.图片旋转

4.图像灰度处理

5.图像变形

6.图像扭曲

7.图像移动

三、系统实现

1.ImageProcessing.java

package cn.image;import java.awt.BorderLayout;
import java.awt.Graphics;
import java.awt.GraphicsConfiguration;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.HeadlessException;
import java.awt.Image;
import java.awt.Transparency;
import java.awt.event.ActionEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.image.BufferedImage;
import java.awt.image.ColorModel;
import java.awt.image.ImageObserver;
import java.awt.image.MemoryImageSource;
import java.awt.image.PixelGrabber;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.text.SimpleDateFormat;
import java.util.Date;import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;public class ImageProcessing extends JFrame {String filepath = "";String filename = "";File file2;BufferedImage buffimg = null;ImageIcon ic;Image ia, l;JLabel jLabel1 = null;BorderLayout borderLayout1 = new BorderLayout();JMenuBar jmb = new JMenuBar();JMenu file, edit, view, caijian, suofang, gray, see, save, move, niuqu;public ImageProcessing(String title) {super(title);file = new JMenu(" 文件 ");JMenuItem dakai = new JMenuItem(" 打开 ");dakai.addActionListener(new dakai_actionAdapter(this));file.add(dakai);file.addSeparator();JMenuItem tuichu = new JMenuItem(" 退出 ");tuichu.addActionListener(new tuichu_actionAdapter(this));file.add(tuichu);jmb.add(file);caijian = new JMenu(" 裁剪 ");JMenuItem fangxingcaijian = new JMenuItem(" 方形裁剪 ");fangxingcaijian.addActionListener(new testImage_fangxingcaijian_actionAdapter(this));this.getContentPane().setLayout(borderLayout1);caijian.add(fangxingcaijian);caijian.addSeparator();
//      JMenuItem juxingcaijian = new JMenuItem(" 矩形裁剪 ");
//      juxingcaijian.addActionListener(new testImage_fangxingcaijian_actionAdapter(this));
//      this.getContentPane().setLayout(borderLayout1);
//      caijian.add(juxingcaijian);jmb.add(caijian);suofang = new JMenu(" 缩放 ");JMenuItem suoxiao = new JMenuItem(" 缩小 ");suoxiao.addActionListener(new testImage_suoxiao_actionAdapter(this));this.getContentPane().setLayout(borderLayout1);suofang.add(suoxiao);suofang.addSeparator();JMenuItem fangda = new JMenuItem(" 放大 ");fangda.addActionListener(new testImage_fangda_actionAdapter(this));suofang.add(fangda);jmb.add(suofang);edit = new JMenu(" 旋转 ");JMenuItem xuanzhuan90 = new JMenuItem(" 旋转 90 度(顺时针)");xuanzhuan90.addActionListener(new xuanzhuan90_actionAdapter(this));edit.add(xuanzhuan90);edit.addSeparator();JMenuItem xuanzhuan180 = new JMenuItem(" 旋转 180 度 (顺时针)");xuanzhuan180.addActionListener(new xuanzhuan180_actionAdapter(this));edit.add(xuanzhuan180);edit.addSeparator();JMenuItem xuanzhuanziyou = new JMenuItem(" 旋转 270度(顺时针)");xuanzhuanziyou.addActionListener(new xuanzhuanziyou_actionAdapter(this));edit.add(xuanzhuanziyou);edit.addSeparator();JMenuItem xuanzhuan270 = new JMenuItem(" 自由旋转角度 ");xuanzhuan270.addActionListener(new xuanzhuan270_actionAdapter(this));edit.add(xuanzhuan270);jmb.add(edit);gray = new JMenu(" 图像灰度处理 ");JMenuItem huidu = new JMenuItem(" 灰度变换 ");huidu.addActionListener(new huidu_actionAdapter(this));gray.add(huidu);gray.addSeparator();JMenuItem junhenghua = new JMenuItem(" 直方图均衡化 ");junhenghua.addActionListener(new junhenghua_actionAdapter(this));gray.add(junhenghua);jmb.add(gray);// zyf/see = new JMenu(" 变形 ");JMenuItem lashen = new JMenuItem(" 拉伸 ");lashen.addActionListener(new testImage_lashen_actionAdapter(this));see.add(lashen);see.addSeparator();JMenuItem zhankuan = new JMenuItem(" 展宽 ");zhankuan.addActionListener(new testImage_zhankuan_actionAdapter(this));see.add(zhankuan);see.addSeparator();jmb.add(see);niuqu = new JMenu(" 扭曲 ");JMenuItem niuqu1 = new JMenuItem(" 扭曲 ");niuqu1.addActionListener(new testImage_niuqu1_actionAdapter(this));niuqu.add(niuqu1);niuqu.addSeparator();jmb.add(niuqu);save = new JMenu(" 保存 ");JMenuItem saveas = new JMenuItem(" 另存为 ");saveas.addActionListener(new saveas_actionAdapter(this));save.add(saveas);save.addSeparator();jmb.add(save);move = new JMenu(" 移动 ");JMenuItem lmove = new JMenuItem(" 向左移动 ");lmove.addActionListener(new lmove_actionAdapter(this));move.add(lmove);move.addSeparator();JMenuItem rmove = new JMenuItem(" 向右移动 ");rmove.addActionListener(new rmove_actionAdapter(this));move.add(rmove);move.addSeparator();JMenuItem cmove = new JMenuItem(" 居中移动 ");cmove.addActionListener(new cmove_actionAdapter(this));move.add(cmove);move.addSeparator();JMenuItem umove = new JMenuItem(" 向上移动 ");umove.addActionListener(new umove_actionAdapter(this));move.add(umove);move.addSeparator();JMenuItem dmove = new JMenuItem(" 向下移动 ");dmove.addActionListener(new dmove_actionAdapter(this));move.add(dmove);move.addSeparator();jmb.add(move);// zyf/view = new JMenu(" 详情 ");JMenuItem banben = new JMenuItem(" 版本说明 ");banben.addActionListener(new banben_actionAdapter(this));view.add(banben);jmb.add(view);// zyfthis.setSize(800, 600);this.setJMenuBar(jmb);jLabel1 = new JLabel("", JLabel.CENTER);JScrollPane pane = new JScrollPane(jLabel1);this.add(pane, borderLayout1.CENTER);this.setVisible(true);//设置窗口居中this.setLocationRelativeTo(null);}public static void main(String[] args) {ImageProcessing testImage1 = new ImageProcessing(" 基于Java语言的的可视化图像处理软件 ");testImage1.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {System.exit(0);}});}
}

四、其它

1.其他系统实现

Java+Swing实现学生选课管理系统
Java+Swing实现学校教务管理系统
Java+Swing+sqlserver学生成绩管理系统
Java+Swing用户信息管理系统
Java+Swing实现的五子棋游戏
基于JavaSwing 银行管理系统
Java+Swing+mysql仿QQ聊天工具
Java+Swing 聊天室
Java+Swing+dat文件存储实现学生选课管理系统
Java+Swing可视化图像处理软件
Java+Swing学生信息管理系统
Java+Swing图书管理系统
Java+Swing图书管理系统2.0
基于java+swing+mysql图书管理系统3.0
大作业-基于java+swing+mysql北方传统民居信息管理系统

2.获取源码

点击下载
Java+Swing可视化图像处理软件

Java+Swing可视化图像处理软件相关推荐

  1. java Swing局域网聊天软件+ 情侣电脑钢琴

    本文为姜友瑶原创作品 非商业转载请注明作译者.出处,并保留本文的原始链接.否则追究法律责任!商业转载请联系作者! 更多作品请访问我的个人网站 www.jyymatrix.cc 2013年的时候刚刚看完 ...

  2. 基于Eclipse+Java+Swing+Mysql图书信息管理系统

    基于Eclipse+Java+Swing+Mysql图书信息管理系统 一.系统介绍 二.功能展示 1.主页 2.新增图书信息 3.删除图书信息 三.数据库 四.其他系统实现 五.获取源码 一.系统介绍 ...

  3. 基于Java+Swing+Mysql员工信息管理系统

    基于Java+Swing+Mysql员工信息管理系统 一.系统介绍 二.功能展示 1.主页 2.查询员工信息 3.删除员工信息 三.数据库 四.其他系统实现 五.获取源码 一.系统介绍 该系统实现了查 ...

  4. 基于Java+Swing+Mysql项目信息管理系统

    基于Java+Swing+Mysql项目信息管理系统 一.系统介绍 二.功能展示 1.主页 2.新增项目信息 3.删除项目信息 三.数据库 四.其他系统实现 五.获取源码 一.系统介绍 该系统实现了查 ...

  5. Java+Swing+mysql用户信息管理系统

    Java+Swing+mysql用户信息管理系统 一.系统介绍 二.功能展示 1.管理员登陆 2.用户信息查询 3.用户信息添加 4.用户信息修改 5.用户信息删除 三.项目相关 3.1 乱码问题 3 ...

  6. Java+Swing聊天室

    Java+Swing聊天室 一.系统介绍 二.系统展示 1.发送消息 2.清屏 三.系统实现 四.其他 1.其它系统 2.获取源码 一.系统介绍 本系统实现了简单的聊天室功能:发送消息.清屏.退出系统 ...

  7. 基于Java+Swing实现聊天室

    基于Java+Swing实现聊天室 一.系统介绍 二.功能展示 三.其它 1.其他系统实现 四.获取源码 一.系统介绍 Java聊天室系统主要用于实现在线聊天,基本功能包括:服务端和客户端.本系统结构 ...

  8. 基于Java+Swing实现餐厅点餐系统

    基于Java+Swing实现餐厅点餐系统 一.系统介绍 二.系统展示 1.主页 2.点菜 3.下单 4.结算 5.销售情况(管理员) 三.系统实现 四.其他系统 五.获取源码 一.系统介绍 该系统针对 ...

  9. 基于Java+Swing实现天气预报系统

    基于Java+Swing实现天气预报系统 一.系统介绍 二.功能展示 1.主面 2.IP定位城市 3.通过城市名称查询天气状态 4.查看各城区的天气 三.代码展示 四.其他系统 五.获取源码 一.系统 ...

最新文章

  1. 通过域名访问自己部署到服务器上的项目
  2. 获取顺序容器vector,deque,string和array的首尾元素的方法有四个
  3. 暴力删除文件(文件夹)之为所欲为
  4. NERDTree 快捷键辑录
  5. Redis 未授权访问漏洞利用
  6. 开源:Http接口测试程序
  7. 快速开发jQuery插件的10大技巧(转)
  8. 怎样用html播放喜马拉雅音频文件,如何将喜马拉雅音频文件导出mp3,教你一键完成操作...
  9. Abaqus槽钢杆受力有限元分析
  10. JMeter之接口测试脚本编写
  11. Using platform encoding (UTF-8 actually) to copy filtered resources错误
  12. 34岁IBM工程师电脑被抢身亡:以命相争背后,是无处安放的生活
  13. 简信CRM:什么是在线CRM?在线CRM有什么好处?
  14. Java人员随机分组
  15. 云栖大会圆满落幕,极客天成精彩现身
  16. 【项目】Vue3+TS 动态路由 面包屑 查询重置 列表
  17. OpenCV3之操作例子总汇
  18. [3,3‘-联吡啶]-6,6‘-二甲醛 cas1264748-06-2 中间体材料
  19. 计算机网络必须包括,计算机网络硬件包括( )等几个方面。
  20. 【数据挖掘】频繁模式挖掘及Python实现

热门文章

  1. 基于Vue+Springboot开发的电影订票购票微信小程序
  2. 动态数码管原理解释及多种写法,消影
  3. Vue(动画、过渡、动画库)
  4. 家庭防盗系统的各种类型选择选择及配置
  5. 小白学爬虫(三 Beautiful Soup库)
  6. 闪讯利用openwrt路由器拨号教程(三)
  7. 功能安全----自动驾驶
  8. Provisioning Edge Inference as a Service via Online Learning 阅读笔记
  9. vue 微信公众号支付接口_vue页面在微信公众号调用支付接口
  10. oracle时间判断上下午,oracle查询时间的判断