java图片管理系统代码及设计.ppt

上传人:max****ui 文档编号:6359926 上传时间:2020-02-23 格式:PPT 页数:30 大小:493.81KB
返回 下载 相关 举报
java图片管理系统代码及设计.ppt_第1页
第1页 / 共30页
java图片管理系统代码及设计.ppt_第2页
第2页 / 共30页
java图片管理系统代码及设计.ppt_第3页
第3页 / 共30页
点击查看更多>>
资源描述
图片管理系统 J2SE应用 第五期欧美班程军 Page 2 目录 实现意义 01 功能分析 02 编码实现 04 系统测试 05 完成提交 06 概要设计 03 Page 3 实现意义 一实现意义 Java语言简介 Java语言结构体系简介 关于Java软件工程师的简介 实现图片管理系统的实际意义 Page 4 Java语言简介 Java是一种简单的 跨平台的 面向对象的 分布式的 解释的 健壮的安全的 结构的中立的 可移植的 性能很优异的多线程的 动态的语言 请大家一口气说出这句 你是否感觉到Java的力量 这样说可能你没啥感觉那么请看下面的它历程简单介绍 当1995年SUN推出Java语言之后 全世界的目光都被这个神奇的语言所吸引 那么Java到底有何神奇之处呢 在Java出现以前 Internet上的信息内容都是一些乏味死板的HTML文档 当Java语言的出现让这一状况出现了彻底得到了改变 让我们的Internet丰富多彩起来 Page 5 Java语言结构体系简介 Java体系结构 完整的Java体系结构实际上是由4个组件组合而成 Java编程语言Java类文件格式JavaAPIJVM因此 使用Java开发时 就是用Java编程语言编写代码 然后将代码编译为Java类文件 接着在JVM中执行类文件 JVM与核心类共同构成了Java平台 也称为JRE JavaRuntimeEnvironment Java运行时环境 该平台可以建立在任意操作系统上 图1 1显示了Java不同功能模块之间的相互关系 以及它们与应用程序 与操作系统之间的关系 JavaAPI是预先编写的代码 并按相似主题分成多个包 JavaAPI主要分为3大平台 Page 6 JavaAPI主要分为3大平台 JavaAPI主要分为3大平台 J2SE Java2Platform StandardEdition 该平台中包含核心Java类和GUI类 J2EE Java2Platform EnterpriseEdition 该包中包含开发Web应用程序所需的类和接口 有Servlet JavaServerPage 以及EnterpriseJavaBean类等 J2ME Java2Platform MicroEdition 该包体现了Java的传统优势 为消费类产品提供了一个已优化的运行时环境 用于如传呼机 手机或汽车导航系统 Page 7 关于Java软件工程师的简介 关于Java软件工程师的简介 如今由于Internet的高速发展 为了能使用户得到更好的体验并实现用户与服务器的交互 使基于B S模式的软件开发进入了一个高速发展期 Java的应用可以说是无处不在 从桌面办公应用到网络数据库等应用 从PC到嵌入式移动平台 从Java小应用程序 Applet 到架构庞大的J2EE企业级解决方案 处处都有Java的身影 就连美国大型太空项目当中 也使用了Java来开发控制系统和相关软件 用途如此之广的Java造就了Java软件工程师的辉煌 使其在软件工程师的领域里独占鳌头 Java软件工程师运用Java这个开发工具去完成软件产品的软件程序设计 开发 测试 维护升级等工作 熟悉Java Servlet JSP EJB等开发技术 熟练使用Eclipse或jbuilder等java开发工具 熟悉JAVA STRUTS体系结构和开发工具 熟悉至少一种数据库的开发和设计 具有良好的学习能力 具有强烈的工作责任心 有良好的沟通能力和团队合作精神 Page 8 实现图片管理系统的实际意义 实现图片管理系统的实际意义 对于Java软件工程的学习 首先需要完成对于J2SE的学习 先了解一下基本语法 不要求一下学会 然后试着写了以些程序 不会正好去查 从基本开始 写到对基础比较熟悉了 再拿些好的书 比如thinkinginjava来学习概念以及整理思路加高级的语言特性 然后完成更好的更复杂的程序 在学习J2SE课程结束之余我完成了图片管理系统 通过完成该系统我实现了前期所学知识的融会贯通 并掌握了J2SE课程中的基本内容 随着系统的完成也充分体现了所学的不足之处 为下一步更好的学习Java课程提供了一个良好的检测机会 Page 9 功能分析 二功能分析图片管理系统主要分为三个模块 树形图片管理器 该模块主要用来从文件夹中遍历图像文件并建立成一个树状的图片管理器 图片显示区域 主要用来显示图片以及被处理后的各种效果 图片处理工具栏 主要是一个工具栏包含了对图片处理的各个功能 例如放大 缩小 旋转等 Page 10 模块图 图片管理系统 图片显示区域 树形图片管理器 图片处理工具栏 Page 11 树形图片管理器 树形图片管理器 该模块主要是实现从目录中区分图片文件和目录 并通过目录本身的层次结构 以一个棵树的形式将所有遍历出来的图片显示出来 树形目录结构图如图1所示 Page 12 图1 Page 13 图片显示区域 图片显示区域 该模块主要是用来初始化显示一个图像 同时也能用来显示各种被处理后的图像 具体各种图像显示效果见图2 图3 Page 14 图像处理效果 图2 Page 15 图像处理效果 图3 Page 16 图片处理工具栏 图片处理工具栏该模块主要是一个工具栏包含了对图片处理的各个功能 例如放大 缩小 旋转等 具体可以见图4 Page 17 图4 Page 18 编码实现 树形图片管理器的主要实现代码如下 classInitTree staticJTreetree staticDefaultMutableTreeNoderoot newDefaultMutableTreeNode folderName staticDefaultMutableTreeNodenode1 staticDefaultMutableTreeNodenode2 privatestaticArrayListfilelist newArrayList publicstaticvoidfireOne Stringpath DefaultMutableTreeNodenode3 newDefaultMutableTreeNode path TreePathtp newTreePath node3 TreeSelectionEvente newTreeSelectionEvent tree tp true tp tp publicstaticJTreegetTree returntree Page 19 publicstaticvoidaddNode tree newJTree root publicstaticvoidrefreshList Stringpath DefaultMutableTreeNoderoot HashMaphm1 Filedir newFile path File files dir listFiles if files null return for inti 0 i files length i if files i isDirectory 如果是文件夹 则继续向下遍历 StringfolderName files i getAbsolutePath node1 newDefaultMutableTreeNode folderName HashMaphm2 newHashMap HashMaphm3 newHashMap hm1 put folderName hm3 root add node1 Page 20 System out println files i getParent System out println folderName refreshList folderName node1 hm3 else StringfileName files i getAbsolutePath System out println fileName node2 newDefaultMutableTreeNode fileName node1 add node2 filelist add files i getAbsolutePath hm1 put fileName null Page 21 图片显示区域的主要代码 System out println 0000000000000000000 intscale frame scale frame scale scale Stringpath frame path ImageIconimage1 newImageIcon path 根据路径生成图片ImageIconimage2 newImageIcon image1 getImage getScaledInstance 100 scale 100 scale 1 找到放大后的图片BufferedImageimage3 BufferedImageConverter createBufferedImage image2 getImage frame three2 把image bufferedimageBufferedImageimage4 ImageTranslation rotateImg image3 frame degree 45 Color pink 进行旋转 Page 22 图片处理工具栏的主要代码 实现放大缩小功能的主要代码 classImageTranslation publicstaticBufferedImagerotateImg BufferedImageimage intdegree Colorbgcolor intiw image getWidth 原始图象的宽度intih image getHeight 原始图象的高度intw 0 inth 0 intx 0 inty 0 degree degree 360 if degree 0 degree 360 degree 将角度转换到0 360度之间doubleang degree 0 0174532925 将角度转为弧度 Page 23 if degree 180 degree 0 degree 360 w iw h ih elseif degree 90 degree 270 w ih h iw else intd iw ih w int d Math abs Math cos ang h int d Math abs Math sin ang x w 2 iw 2 确定原点坐标y h 2 ih 2 Page 24 实现保存的主要代码 publicvoidsave JFileChooserdlg newJFileChooser dlg showSaveDialog frame StringsavePath dlg getSelectedFile toString System out println open openPath System out println save savePath try FileInputStreamfis newFileInputStream openPath FileOutputStreamfos newFileOutputStream savePath intdata while data fis read 1 fos write data Page 25 BufferedImagerotatedImage newBufferedImage w h image getType Graphicsgs rotatedImage getGraphics gs setColor bgcolor gs fillRect 0 0 w h 以给定颜色绘制旋转后图片的背景AffineTransformat newAffineTransform 二维变换类at rotate ang w 2 h 2 旋转图象at translate x y 连接此变换与平移变换 此类使用仿射转换来执行从源图像或Raster中2D坐标到目标图像或Raster中2D坐标的线性映射 所使用的插值类型由构造方法通过一个RenderingHints对象或通过此类中定义的整数插值类型之一来指定 AffineTransformOpop newAffineTransformOp at AffineTransformOp TYPE NEAREST NEIGHBOR 转换源BufferedImage并将结果存储在目标BufferedImage中 op filter image rotatedImage image rotatedImage returnimage Page 26 fis close fos close catch Exceptione System out println e getMessage e printStackTrace Page 27 处理事件的部分主要代码 publicvoidactionPerformed ActionEvente JButtonbutton JButton e getSource if button button1 frame degree 继续旋转System out println 0000000000000000000 intscale frame scale frame scale scale Stringpath frame path ImageIconimage1 newImageIcon path 根据路径生成图片 Page 28 ImageIconimage2 newImageIcon image1 getImage getScaledInstance 100 scale 100 scale 1 找到放大后的图片BufferedImageimage3 BufferedImageConverter createBufferedImage image2 getImage frame three2 把image bufferedimageBufferedImageimage4 ImageTranslation rotateImg image3 frame degree 45 Color pink 进行旋转ImageIconimage5 newImageIcon image4 把bufferedimage转换为imageframe label setIcon image5 显示图片 Page 29 系统测试 在系统完成过程中出现了很多问题 通过不断的调试和反复的修改最终完成了该系统 当然该系统只是实现了基本的功能 其性能远远不够完善 但是通过该系统的实现为进一步学习打下了基础 30 感谢您的关注
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!