《网络相册的设计与部分实现.ppt》由会员分享,可在线阅读,更多相关《网络相册的设计与部分实现.ppt(26页珍藏版)》请在三一办公上搜索。
1、网络相册的设计与部分实现,信息科学与技术学院吴 涛,1、基本需求分析,由可以在电脑上观赏的区别于CD/VCD的静止图片组成的特殊文档,其内容不局限于摄影照片,也可以包括各种艺术创作图片。电子相册具有传统相册无法比拟的优越性:图、文、声、像并茂的表现手法,随意修改编辑的功能,快速的检索方式,永不褪色的恒久保存特性,以及廉价复制分发的优越手段。,网络相册是网站为用户提供的个人相片展示、存放的平台;一般的网络相册可以选择“公开”或者“私人”的属性,如果您的相册是设为公开属性,其他用户可以查看、分享。在网络相册网站中,用户可以上传图片,建立分类相册,设定相册隐私权限,也可以观看、评论其他人的相册与照片
2、。有些相册也支持照片外链,方便用户在其他网站、社区、讨论区分享他们的照片。,国外的网络相册主要有PICASA、Flickr、Photobucket。国内的网络相册主要有POCO网络相册、16相册、网易相册、百度相册、有照片等。请有兴趣者课后注册并查阅相关产品。,2、总体设计,首页照片缩略图查看、照片详细图浏览照片管理(添加、删除、修改等)照片分类、分享、评论照片特效(放大、缩小、边框、滤镜、场景渲染等)用户管理(注册、修改、删除、更新等)照片高级功能(以图搜图、自动抠图等),3、数据库设计,(1)、用户表用户ID用户昵称用户密码可以用用户ID登陆页可以用昵称登陆,ID是英文IDentity的缩
3、写,标识号的意思。也称为序列号或帐号,是某个体系中相对唯一的编码,相当于是一种“身份证”。在某一具体的事物中,ID号一般是不变的,至于用什么来标识该事物,则由设计者自己制定的规则来确定。一般而言,这个规则根据具体的使用环境在设计上有一定的主观性。如:“员工工号”、“身份证号码”“计算机网址”等。(解释来源:百度百科),(2)、照片表(图像表)图像ID图像拍摄信息(相机、时间等从图像自动读取)图像类别ID图像作者(如果不填写,就默认根据类别ID获取用户ID作为作者)图像内容图像注释说明图像缩略图,(3)、图像类别表图像类别ID用户ID图像类别信息是否公开(加锁),4、大图浏览功能的实现,打开对应
4、图像,显示图像,以及相关的详细信息,如图像作者、拍摄时间、采用相机等。在该功能模块的基础上扩展(课后)(a)照片分类、分享、评论(b)照片特效(放大、缩小、边框、滤镜、场景渲染等),/(1)连接数据库SqlConnection con=new SqlConnection();con.ConnectionString=System.Configuration.ConfigurationManager.ConnectionStringsImgConnectionString.ToString();con.Open();,/(2)实例化命令对象int imgid=int.Parse(Request.
5、QueryStringimgid);string SqlString=select*from ImgTable where ImgID=+imgid;SqlCommand com=new SqlCommand(SqlString,con);,/(3)读取二进制流对象并输出SqlDataReader sdr=com.ExecuteReader();if(sdr.Read()Response.BinaryWrite(byte)sdrImgBinary);Response.End();/response.flush(),Command对象,也称为数据库命令对象,主要执行包括添加、删除、修改及查询数据
6、的操作的命令,也可以用来执行存储过程。一个CommandType 属性:用于执行存储过程时为CommandType.StoredProcedure,默认情况下为CommandType.Text,表示执行的是普通SQL语句。Command主要有三个方法:ExecuteNonQuery():执行一个SQL语句,返回受影响的行数,这个方法主要用于执行对数据库执行增加、更新、删除操作,注意查询的时候不是调用这个方法。ExecuteReader():执行一个查询的SQL语句,返回一个DataReader对象。ExecuteScalar():从数据库检索单个值,这个方法主要用于统计操作。,/(4)关闭相关
7、对象sdr.Close();con.Close();,/(5)出错处理 try.catch Response.Write(alert(数据库无法连接!);,5、显示全部图像缩略图,打开对应用户账户,显示某个类别相册的所有图像;对每个图像建立超级链接,点击能够进入显示图像的详细信息以及相关图像操作。在该功能模块的基础上扩展(课后)照片高级功能(以图搜图、自动抠图等),/(1)连接数据库SqlConnection con=new SqlConnection();con.ConnectionString=System.Configuration.ConfigurationManager.Connec
8、tionStringsImgConnectionString.ToString();con.Open();,/(2)实例化命令对象string SqlString=select*from ImgTable;/考虑到文件大小,通常不要用*SqlCommand com=new SqlCommand(SqlString,con);,/(3)读取二进制流对象SqlDataReader sdr=com.ExecuteReader();,/(4)输出图像对象while(sdr.Read()Response.Write(“”);,/(5)图像列表显示的控制Response.Write();int i=1;/记录计数器 int n=5;表格列控制 while(sdr.Read()if(i%n=1)Response.Write(“”);Response.Write(“”);Response.Write(“”);if(i%n=0)Response.Write(“”);i=i+1;Response.Write(“”);,/(6)关闭相关对象sdr.Close();con.Close();,/(7)出错处理 try.catch Response.Write(alert(数据库无法连接!);,6、添加图像的实现,