




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
图片管理系统Evaluation
o—n—nl—yJ2.SE应用d
with
Aspose.Slides
for.NET第五3期.欧5美班Cl程军ient
ProfilCopyright
2004-2011
Aspose
Pty
Ltd.目录实现意义010204系统测试05完成提交0603Page2Evalu功u功a能t分i析on
only.d
with
Aspose.Slides
for
.NET
3.5
Client
Profil概要设计Copyright
2004-2011
Aspose
Pty
Ltd.编码实现实现意义Page3— 实现意义:Evaluationonly.dwithAspoJsavea语.言S简l简li介d:esfor.NET3.5ClientProfilCopJyavra语i言g结h结ht构体2系0简0介4-:-:2011AsposePtyLtd.关于Java软件工程师的简介:实现图片管理系统的实际意义:Java语言简介Page4Java是一种简单的,跨平台的,面向对象的,分布式的,解释的,健壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。请大家一口气说出这句,当Java语言的出现让这一状况出现了彻底得到了改变,让我们的Internet丰富多彩起来。你是否感觉到Java的力量。E这v样a说l可u能a你t没i啥o感n觉那o么n请l看y下.面的它历程简单介绍。dwi当t1h995A年sSUpNp推o出sJaeva.语S言l之i后d,e全s世s界f的o目r光都.被N这E个T神奇3的.语5言C所l吸i引e。n那t么tJaPvar到ofil底有何C神o奇p之y处r呢i?ght2004-2011AsposePtyLtd.在Java出现以前,Internet上的信息内容都是一些乏味死板的HTML文档。Java语言结构体系简介Page5Java体系结构:完整的Java体系结构实际上是由4个组件组合而成:Java编程语言
Java类文件格式Java
APIEvaluation
only.d
with
Aspose.Slides
for
.NET
3.5
Client
ProfilJVM因此C,C使o用pJyavra开i发g时h,t就2是2用0J0av4a编-程2语0言1编1写A代A码s,p然o后s将e代P码t编y译为LJatvad类.文件,接着在JVM中执行类文件。JVM与核心类共同构成了Java平台,也称为JRE(JavaRuntimeEnvironment,Java运行时环境),该平台可以建立在任意操作系统上。图1-1显示了Java不同功能模块之间的相互关系,以及它们与应用程序、与操作系统之间的关系。JavaAPI是预先编写的代码,并按相似主题分成多个包。JavaAPI主要分为3大平台:Java
API主要分为3大平台Page6JavaAPI主要分为3大平台:所需的类和接口,有Servlet、JavaServerPage、以及EnterpriseJ2ME(Java2Platform,MicroEdition):该包体现了Java的传统优势,为消费类产品提供了一个已优化的运行时环境,用于如传呼机、手机或汽车导航系统。J2SE(Java2Platform,StandardEdition):该平台中包含核心Java类和GUI类。Evaluationonly.dwiJt2tEhE(JAavsap2oPslaetf.oSrml,iEndteersprifseorEdi.tiNonE)T:该3包.中5包C含l开i发eWnebt应P用r程o序filJavaBCeaonp类y等r。ight2004-2011
Aspose
Pty
Ltd.关于Java软件工程师的简介Page7关于Java软件工程师的简介:如今由于Internet的高速发展,为了能使用户得到更好的体验并实现用户与服务器的交互,使基于B/S模式的软件开发进入了一个高速发展期。平台,从Java小应用程序(Applet)到架构庞大的J2EE企业级解决方案,处处都有用途如此之广的Java造就了Java软件工程师的辉煌,使其在软件工程师的领域里独占熟悉Java、Servlet、JSP、EJB等开发技术;熟练使用Eclipse或jbuilder等java开发工具;熟悉JAVA+STRUTS体系结构和开发工具;熟悉至少一种数据库的开发和设计;具有良好的学习能力,具有强烈的工作责任心、有良好的沟通能力和团队合作精神。Java的应用可以说是无处不在,E从v桌a面l办u公a应t用i到o网n络n络数o据n库l等y应.用,从PC到嵌入式移动dwithJavaA的s身p影o,s就e连.美S国l大i型i太d空e项s目f当o中r,也.使N用E了TJav3a来.开5发C控l制i系i统e和n相t关P软r件o。fil鳌头!CJaovap软y件r工i程g师h运t用tJa2va0这0个4开-发2工0具1去1完1成A软s件p产o品s的e软件P程t序y设计L、t开d发.、测试、维护升级等工作。实现图片管理系统的实际意义Page8实现图片管理系统的实际意义:对于Java软件工程的学习,首先需要完成对于J2SE的学习,先了解一下基本语法,不要求熟悉了,再拿些好的书,比如thinkinginjava来学习概念以及整理思路加高级的语在学习J2SE课程结束之余我完成了图片管理系统,通过完成该系统我实现了前期所学知识的融会贯通,并掌握了J2SE课程中的基本内容,随着系统的完成也充分体现了所学的不足之处,为下一步更好的学习Java课程提供了一个良好的检测机会。一下学会,然后试着写了以E些v程a序l(l(不u不u会a正t好i去o查n)o,n从l基l基本y本y开.始,写到对基础比较dwith言特A性s,p然o后s完e成.更S好l的i更i复d杂e的s程f序o。r.NET3.5ClientProfilCopyright
2004-2011
Aspose
Pty
Ltd.功能分析Page9二 功能分析图片管理系统主要分为三个模块:Evaluationonly.dwi树t形h图A片s管p理os器e:.该S模l块id主d主e要s用f来o从r文.件N夹E中T遍3历.图5像C文l件i并e建n建nt立成Pr一r一ofil个树状Co的p图y片r管i理gh器t。2004-2011AsposePtyLtd.图片显示区域:主要用来显示图片以及被处理后的各种效果。图片处理工具栏:主要是一个工具栏包含了对图片处理的各个功能,例如放大,缩小,旋转等。模块图图片管理系统图片显示区域树形图片管理器图片处理工具栏Page10Evaluation
only.d
with
Aspose.Slides
for
.NET
3.5
Client
ProfilCopyright
2004-2011
Aspose
Pty
Ltd.树形图片管理器Page11树形图片管理器:该模块主要是实现从目录中区分图片文件和目录,并显示出来。通过目录本身的层次结E构v,al以u一a个t棵i树on的n形o式nl将y所.有遍历出来的图片d
with
Aspose.Slides
for
.NET
3.5
Client
Profil树形目录C结o构py图r如i图g1h所t示2。004-2011
Aspose
Pty
Ltd.图1Evaluation
only.Page12d
with
Aspose.Slides
for
.NET
3.5
Client
ProfilCopyright
2004-2011
Aspose
Pty
Ltd.图片显示区域Page13显示各种被处理后的图像。具体各种图像显示效果见图2,图3。图片显示区域:该模块主E要v是a用l来ua初at始i化o显n示o一n个l图y.像.,同时也能用来d
with
Aspose.Slides
for
.NET
3.5
Client
ProfilCopyright
2004-2011
Aspose
Pty
Ltd.图像处理效果图2Evaluation
only.d
with
Aspose.Slides
for
.NET
3.5
Client
ProfilCopyright
2004-2011
Aspose
Pty
Ltd.Page14图像处理效果图3Evaluation
only.d
with
Aspose.Slides
for
.NET
3.5
Client
ProfilCopyright
2004-2011
Aspose
Pty
Ltd.Page15图片处理工具栏Page16图片处理工具栏该模块主要是一个工具栏包含了对图片处理的各个功能,例如放大,缩小,旋转等。E具v体al可u以a见t图i4o。nonly.dwithAspose.Slidesfor.NET3.5ClientProfilCopyright2004-2011AsposePtyLtd.图4Evaluation
only.Page17d
with
Aspose.Slides
for
.NET
3.5
Client
ProfilCopyright
2004-2011
Aspose
Pty
Ltd.编码实现Page18树形图片管理器的主要实现代码如下:classInitTree{staticJTreetree;;staticDefaultMutableTreeNoderoot=newDefaultMutableTreeNode("folderName");;static
DefaultMutableTreeNode
node1;private
static
ArrayList
filelist
=
new
ArrayList();{DefaultMutableTreeNode
node3=new
DefaultMutableTreeNode(path);TreePath
tp=new
TreePath(node3);TreeSelectionEvent
e=new
TreeSelectionEvent(tree,tp,true,tp,tp);}public
static
JTree
getTree(){return
tree;}static
DefaultMutableTreeNoEdevnodadae2l;
uation
only.d
withpublAicsstpatoioc
svoied
f.irSeOlne(iStdriengspathf)
or
.NET
3.5
Client
ProfilCopyright
2004-2011
Aspose
Pty
Ltd.public
static
void
addNode(){tree=new
JTree(root);}public
static
void
refreshList(String
path,DefaultMutableTreeNode
root,HashMap
hm1){File
dir
=
new
File(path);Page19if(files==null)return;for
(int
i
=
0;
i<files.length;
i++){if(files[i].isDirectory())//如果是文件夹,则继续向下遍历{String
folderName
=
files[i].getAbsolutePath();node1=new
DefaultMutableTreeNode(folderName);HashMap
hm2=new
HashMap();HashMap
hm3=new
HashMap();hm1.put(folderName,hm3);root.add(node1);File[]
files
=
dir.listFEiEilevs()a;
luation
only.d
with
Aspose.Slides
for
.NET
3.5
Client
ProfilCopyright
2004-2011
Aspose
Pty
Ltd.System.out.println
(files[i].getParent());Page20System.out.println
("++"+folderName);refreshList(folderName,node1,hm3);}elseEvaluation
only.d
with
Asp{pose.Slides
for
.NET
3.5
Client
ProfilCopyrStirignghfitlteNa2me0=
f0il4es-[-i]2.g0et1A1bs1oluAtePsatph(o);se
Pty
Ltd.System.out.println
("-"+fileName);node2=new
DefaultMutableTreeNode(fileName);node1.add(node2);filelist.add(files[i].getAbsolutePath());hm1.put(fileName,null);}}}图片显示区域的主要代码:System.out.println("0000000000000000000");intscale=frame.scale;Page21ImageIcon(image1.getImage().getScaledInstance(100*scale,100*scale,
1));//找到放大后的图片BufferedImageimage3=BufferedImageConverter.createBufferedImage(image2.getImage(),frame.three2);//把image>bufferedimageBufferedImage
image4=ImageTranslation.rotateImg(image3,frame.degree*45,Color.pink);//进行旋转frame.scale=scale;String
path=frame.path;Evaluation
only.d
wiItmtahgeIAcosnpimoasgee1=.neSwlImiadgeeIcson(fpoatrh);./N/N根E据T路3径.生5成C图l片ient
ProfilImageIcoCnoimpayger2=inegwht
2004-2011
Aspose
Pty
Ltd.图片处理工具栏的主要代码:实现放大缩小功能的主要代码:classImageTranslationPage22{public
static
BufferedImage
rotateImg(
BufferedImage
image,
int
degree,
Colorbgcolor
){int
ih=image.getHeight();//原始图象的高度Evaluation
only.d
with
Asinpt
iow
s=siema.geS.gletiWiiddthe()s;//f原o始r图象.的N宽E度T
3.5
Client
ProfilCinot
wp=0y;
right
2004-2011
Aspose
Pty
Ltd.int
h=0;int
x=0;int
y=0;degree=degree%360;if(degree<0)degree=360+degree;//将角度转换到0-360度之间
double
ang=degree*
0.0174532925;//将角度转为弧度if(degree
==
180||
degree
==
0
||
degree
==
360)Page23{w
=
iw;h
=
ih;}else
if(degree
==
90||
degree
==
270){w
=
ih;}}x=(w/2)-(iw/2);//确定原点坐标
y=(h/2)-(ih/2);Evaluation
only.d
with
Asposeh
.=
iSw;lides
for
.NET
3.5
Client
ProfilCelosoe
pyright
2004-2011
Aspose
Pty
Ltd.{int
d=iw+ih;w=(int)(d*Math.abs(Math.cos(ang)));h=(int)(d*Math.abs(Math.sin(ang)));实现保存的主要代码:publicvoidsave()Page24{JFileChooser
dlg=new
JFileChooser();dlg.showSaveDialog(frame);String
savePath=dlg.getSelectedFile().toString();System.out.println("save
"+savePath);{FileInputStream
fis=new
FileInputStream(openPath);FileOutputStream
fos=new
FileOutputStream(savePath);int
data;while((data=fis.read())!=-1){fos.write(data);}System.out.println("EoEopevn
a"+ololpeunPaaththt);ion
only.d
with
Astrpy
ose.Slides
for
.NET
3.5
Client
ProfilCopyright
2004-2011
Aspose
Pty
Ltd.BufferedImage
rotatedImage=new
BufferedImage(w,h,image.getType());Graphics
gs=rotatedImage.getGraphics();Page25gs.setColor(bgcolor);gs.fillRect(0,0,w,h);//以给定颜色绘制旋转后图片的背景AffineTransform
at=new
AffineTransform();//二维变换类at.translate(x,y);//连接此变换与平移变换。此类使用仿射转换来执行从源图像或Raster中2D坐标到目标图像或Raster中坐标的线性映射。所使用的插值类型由构造方法通过一个RenderingHints对象或通过此类中定义的整数插值类型之一来指定。*/AffineTransformOp
op=newAffineTransformOp(at,AffineTransformOp.TYPE_NEAREST_NEIGHBOR);//转换源BufferedImage并将结果存储在目标BufferedImage中。
op.filter(image,rotatedImage);image=rotatedImage;return
image;at.rotate(ang,w/2,h/2E);v//a旋转l图u象ation
only.d
with
As/*pose.Slides
for
.NET
3.5
Client
ProfilC2Dopyright
2004-2011
Asspose
Pty
Ltd.fis.close();fos.close();Page26}catch(Exception
e){System.out.println(e.getMessage());}}Evaluation
only.d
with
Asposee..pSrSinltSitadckeTrsacef()o;
r
.NET
3.5
Client
ProfilC}
opyright
2004-2011
Aspose
Pty
Ltd.处理事件的部分主要代码:Page27public
void
actionPerformed(ActionEvent
e){frame.degree++;
//继续旋转JButton
button=(JButton)e.getSource();if(buttonE==vbvbutatatoln1u)
ation
only.d
with
Aspose{.Slides
for
.NET
3.5
Client
ProfilCopyright
2004-2011
Aspose
Pty
Ltd.System.out.println("00000000000000000
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 60364-4-44:2024 EN Low-voltage electrical installations - Part 4-44: Protection for safety - Protection against voltage disturbances and electromagnetic disturbances
- 投资合作合同协议书
- 汽修场地租赁合同
- 代理记账公司员工保密协议
- 可编辑修改产品代理合同经销
- 个人装修木工劳务合同
- 医疗行业人工智能辅助诊断与健康管理方案
- 天使投资协议书
- 电子商务产业园孵化企业入驻协议
- 建筑劳务临时用工合同
- 中职历史教学计划
- 六年级美术下册全册教案(浙美版)
- 湘教版二年级下册美术教案
- 男生青春期生理教育
- 现代汉语(黄伯荣、廖序东版)课件-第四章语法课件
- 统编版小学语文五年级下册第四单元解读与大单元设计思路
- 压疮护理质控反馈
- 山东春季高考Photoshop考试复习题库(含答案)
- 湖南省长沙市2023-2024学年八年级下学期入学考试英语试卷(附答案)
- 2023-2024年人教版八年级上册数学期末模拟试卷(含答案)
- 数据采集管理制度范文
评论
0/150
提交评论