jv图片管理系统代码及设计_第1页
jv图片管理系统代码及设计_第2页
jv图片管理系统代码及设计_第3页
jv图片管理系统代码及设计_第4页
jv图片管理系统代码及设计_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

图片管理系统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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论