图片管理程序(Java)

图片管理程序

gitee完整代码下载
github完整代码下载
华南农业大学课程设计作品(99分)
在这里插入图片描述

问题描述

题目目的是编写一个能够对数字像片进行管理的应用程序。 程序能够显示的图片格式包括,.JPG、.JPEG、.GIF、.PNG、和.BMP。 图像文件尺寸,要求能够处理从几十 K 到几 M 的各种大小的图片。

系统功能分析

1.2.1 系统的主要功能

有目录树(显示系统磁盘目录) 图片的预览(展示缩略图、缩略图包含图片、文件名且保持比例) 支持规定的图片格式(.JPG、.JPEG、.GIF、.PNG、和.BMP。) 选择图片(单张多张,鼠标选择一个区域) 图片删除(选择图片之后可以进行删除) 图片复制(选择图片之后可以进行复制) 图片重命名功能(选择图片之后可以进行单个或者批量重命名) 窗口中显示一张图片和一个功能栏。

进入图片展示窗口的方式

第 1 种方式是鼠标左键双击任意一个缩略图进入该窗口并显示 双击的图片。第 2 种是在设计一个按钮,点击进入该窗口并显示当前 图片预览目录中的第 1 张图。 1.2.3 图片展示窗口基本功能 图片的放大缩小功能,鼠标点击功能栏中这“放大”和“缩小” 按钮可以对图片进行放大和缩小。 切换图片功能,鼠标点击功能栏“左”和“右”按钮,可以将显 示的图片切换到当前预览目录中的前一张和后一张图片。 幻灯片播放功能,在功能栏中设计一个“播放”按钮,点击该按 钮可以从当前显示图片开始自动以确定的间隔时间(如 1 秒)切换显 示图片。有退出播放功能。

开发平台及工具介绍

系统总体结构设计

项目由 3个主要界面组成:

1.1.1 图片文件预览窗口

图片文件预览窗口界面中的构建在 ui包中的 MainUi类中进行。 图片文件预览窗口界面中的功能依赖于 mainuiutil 包中的工具类以 及在staticutil包中的 MainUtil中的静态方法实现。

1.1.2 图片展示窗口

图片展示窗口的构建在 ui包中的 ImageShowUi 类中进行。 图片展示窗口中的功能依赖于 imageshowuiutil 包中的工具类实现。

1.1.3 图片编辑窗口

图片编辑窗口由 imageshowuiutil 包中的工具类被调用时构建出来。

系统各个类及类之间关系设计

各个类之前的关系

MainUi 类为主界面的构建类,MainUi类对主界面进行初始化以及 对一些必要的组件进行加载,例如构建目录树,显示缩略图。当主界 面的功能按键被点击时,对其对应的工具类进行调用。当要进入图片 展示窗口时,调用 ImageShowUi 类构建图片展示窗口,当入图片展 示窗口的功能按键被点击时,对其对应的工具类进行调用。

实现功能

  • 1:支持规定的图片格式
  • 2:目录树实现且操作正常
  • 3:缩略图包含图片、文件名且保持比例
  • 4:点击目录显示缩略图及个数
  • 5:缩略图复制粘贴
  • 6:缩略图单选
  • 7:缩略图单个重命名
  • 8:缩略图多选
  • 9:缩略图批量重命名
  • 10:缩略图删除
  • 11:图片展示的图片切换
  • 12:图片展示的图片放大缩小
  • 14:幻灯片播放
  • 15:6种滤镜功能以及保存
  • 16:截图并保存功能
  • 17:图片旋转功能
  • 18:水印添加
  • 19:图片按比例调整
  • 20:按长宽压缩图片
  • 21:图片格式转换
  • 22:压缩图片

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

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

相关文章

气流与路易吉,阿戈,MLFlow,KubeFlow

任务编排工具和工作流程 (Task orchestration tools and workflows) Recently there’s been an explosion of new tools for orchestrating task- and data workflows (sometimes referred to as “MLOps”). The quantity of these tools can make it hard to choose which o…

模拟操作系统(Java)

gitee完整代码下载 github完整代码下载 一、 需求分析 模拟一个采用多道程序设计方法的单用户操作系统,该操作系统包括进程管理、存储管理、设备管理、文件管理和用户接口四部分。预计程序所能达到的功能: 进程管理模拟:实现操作系统进程管…

数据库面试复习_数据科学面试复习

数据库面试复习大面试前先刷新 (REFRESH BEFORE THE BIG INTERVIEW) 介绍 (Introduction) I crafted this study guide from multiple sources to make it as comprehensive as possible. This guide helped me prepare for both the technical and behavioral aspects of the …

hibernate缓存

(转自:http://www.cnblogs.com/java-class/p/6108175.html) 阅读目录 1. 为什么要用 Hibernate 缓存?2. 项目实战3. Hibernate 缓存原理回到顶部1. 为什么要用 Hibernate 缓存? Hibernate是一个持久层框架,…

分布与并行计算—用任务管理器画CPU正弦曲线(Java)

class drawSin implements Runnable{Overridepublic void run() {final double SPLIT 0.01;// 角度的分割final int COUNT (int) (2 / SPLIT);// 2PI分割的次数,也就是2/0.01个,正好是一周final double PI Math.PI;final int interval 100;// 时间间…

Asp.net mvc中使用配置Unity

第一步:添加unity.mvc 第二步:在添加之后会在app_start中生成UnityConfig.cs,UnityMvcActivator.cs 第三步:使用 第四步:效果展示 转载于:https://www.cnblogs.com/WJ--NET/p/7117839.html

正确认识 Vista 激活期限

当我们在安装 Vista 时,可以不输入序列号进行安装,这和以往的操作系统安装有所不同,我们不必再为安装系统时找不到我们的序列号标签而发愁。如果不输入序列号而继续安装系统,那么系统将提示我们有30天的激活期限!这里的…

Oracle使用hs odbc连接mssql2008

1.创建odbc 2.在 product\11.2.0\dbhome_1\hs\admin\ 下拷贝initdg4odbc,把名字改为initcrmsql(init所建odbc的名称) HS_FDS_CONNECT_INFO crmsql #odbc名称 HS_FDS_TRACE_LEVEL 0 HS_FDS_RECOVERY_ACCOUNTsa #要连接的数据库名称 HS_FDS_RECOVERY_PWD…

【NGN学习笔记】6 代理(Proxy)和背靠背用户代理(B2BUA)

1. 什么是Proxy模式? 按照RFC3261中的定义,Proxy服务器是一个中间的实体,它本身即作为客户端也作为服务端,为其他客户端提供请求的转发服务。一个Proxy服务器首先提供的是路由服务,也就是说保证请求被发到更加”靠近”…

《人人都该买保险》读书笔记

内容目录: 1.你必须知道的保险知识 2.家庭理财的必需品 3.保障型保险产品 4.储蓄型保险产品 5.投资型保险产品 6.明明白白买保险 现在我所在的公司Manulife是一家金融保险公司,主打业务就是保险,因此我需要熟悉一下保险的基础知识&#xff0c…

如何击败腾讯_击败股市

如何击败腾讯个人项目 (Personal Proyects) Note from Towards Data Science’s editors: While we allow independent authors to publish articles in accordance with our rules and guidelines, we do not endorse each author’s contribution. You should not rely on an…

配置静态IPV6 NAT-PT

一.概述: IPV6 NAT-PT( Network Address Translation - Port Translation)应用与ipv4和ipv6网络互访的情况,根据参考链接配置时出现一些问题,所以记录下来。参考链接:http://www.cisco.com/en/US/tech/tk648/tk361/technologies_c…

python3虚拟环境中解决 ModuleNotFoundError: No module named '_ssl'

前提是已经安装了openssl 问题 当我在python3虚拟环境中导入ssl模块时报错,报错如下: (py3) [rootlocalhost Python-3.6.3]# python3 Python 3.6.3 (default, Nov 19 2018, 14:18:18) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux Type "help…

通过Xshell登录远程服务器实时查看log日志

主要想总结以下几点: 1.如何使用生成密钥的方式来登录Xshell连接远端服务器 2.在远程服务器上如何上传和下载文件(下载log文件到本地) 3.如何实时查看log,提取错误信息 一. 使用生成密钥的方式来登录Xshell连接远端服务器 ssh登录…

如何将Jupyter Notebook连接到远程Spark集群并每天运行Spark作业?

As a data scientist, you are developing notebooks that process large data that does not fit in your laptop using Spark. What would you do? This is not a trivial problem.作为数据科学家,您正在开发使用Spark处理笔记本电脑无法容纳的大数据的笔记本电脑…

是银弹吗?业务基线方法论

Fred.Brooks在1987年就提出:没有银弹。没有任何一项技术或方法可以能让软件工程的生产力在十年内提高十倍。 我无意挑战这个理论,只想讨论一个方案,一个可能大幅提高业务系统开发效率的方案。 方案描述 我管这个方案叫做“由基线扩展…

同一服务器部署多个tomcat时的端口号修改详情

2019独角兽企业重金招聘Python工程师标准>>> 同一服务器部署多个tomcat时&#xff0c;存在端口号冲突的问题&#xff0c;所以需要修改tomcat配置文件server.xml&#xff0c;以tomcat7为例。 首先了解下tomcat的几个主要端口&#xff1a;<Connector port"808…

第一章-从双向链表学习设计

链表学习链表是一种动态的数据结构使用节点作为链表的基本单位存储在节点包括数据元素和节点指针一个完整的数据链表应包括转载于:https://www.cnblogs.com/cjxltd/p/7125747.html

思维导图分析http之http协议版本

1.结构总览 在http协议这一章&#xff0c;我将先后介绍上图六个部分&#xff0c;本文先介绍http的协议版本。 2.http协议版本 http协议的历史并不长&#xff0c;从1991的0.9版本到现在(2017)仅仅才20多年&#xff0c;算算下来,http还是正处青年&#xff0c;正是大好发展的好时光…

使用管道符组合使用命令_如何使用管道的魔力

使用管道符组合使用命令Surely you have heard of pipelines or ETL (Extract Transform Load), or seen some method in a library, or even heard of any tool to create pipelines. However, you aren’t using it yet. So, let me introduce you to the fantastic world of…