有一个员工管理,需要在数据库字段中保存员工的照片,但已有的照片很巨大,1024*768, 2M左右,这么大的数据存入数据库,不管是对管理或是传输都是问题,而实际上登记照只要很小就行了,下面进行减肥(C#):
//能够读取一些常用的格式,如jpg,bmp等
Bitmap myBitmap = new Bitmap("c:\\t.bmp");
//生成80*100的缩略图
Image myThumbnail = myBitmap.GetThumbnailImage(80, 100, null, IntPtr.Zero);
System.IO.MemoryStream ms = new System.IO.MemoryStream();
//把生成的缩略图按jpg格式写入到流ms,把这个流转到byte[]并写到数据库就行了,
//假如有需要,也能够把ms流写入到文档
myThumbnail.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
另外:从数据库中读取的照片也能够不存到文档,而直接和Windows控件PictureBox直接绑定显示
//PictureBox控件能够直接显示从数据库中读取byte[]的图片, 见下例
System.IO.MemoryStream ms_p = new System.IO.MemoryStream(byte[] b);
Bitmap bmp = new Bitmap(ms_p);
this.pictureBox1.Image = bmp;
经过以上减肥后,一张照片只有5K左右,程式效率得到提高。
http://www.cnblogs.com/81/archive/2006/08/15/477143.html
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!



