Web图像处理基本思路一
最近有个项目要做web图像处理方面的内容,由于以前从没做过图像处理方面的东西,更别说web图像了。网上关于这方面的资料好象也不多,抽空整理了一下自己的思路。
一、图片存储
一般来说,web上图片有两种存储方式,
其一就是把图片文件上传保存到服务器,再把文件名和路径保存到数据库。采用这种方式的优点是对图片的访问速度应该比较快,直接通过URL就可以访问到图片;缺点是大量的文件放到服务,不便于管理。
其二就是把图片文件以二进制数据保存到数据库,采用这种方式的优点是便于管理,删除比较方便。缺点也就很明显了,由于图片是以二进制保存的,在保存和读取的时候都要经过相应的转换,速度肯定要慢。
不知道那些大型的网站,大量的图片是以什么方式保存的。就我所知5460的相片是以文件的形式保存的。
二、图片处理
由于javascript对图片和文件的处理功能比较差,所以我想到的只有用后端代码处理文件。可是由后端到前端,肯定有一个刷新回调的过程,这样就不能就到实时的看到效果了。找了半天的资料,终于了解了用Response.OutputStream方式,把一个图片以http的方式发送到客户端。这样,我就可以在后端内存中处理图片,再以Response方式直接发送到前端显示。
在前端页面ImageShow.aspx用一个Image控件显示图片,再把它的src路径设为objImage. src=ImageProcess.aspx?photoID=1234&processtype=zoom
ImageProcess.aspx文件就是后台处理图片用。这样在ImageShow.aspx页面用javascript脚本重设objImage的src,就可以重新调用ImageProcess.aspx对图片加以处理。
三、处理算法
处理图片算法,这部分是最复杂的一部分。由于以前没做过,对这些可以说是一点都不了解,还在学习阶段。 这其中要用到System.Drawing和Drawing.Imaging等命名空间。其中的一些处理方法,我会慢慢的整理出来。
先写到这里,有空再补上!