■有一个员工管理,需要在数据库字段中保存员...... 有一个员工管理,需要在数据库字段中保存员工的照片,但已有的照片非常巨大,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左右,程序效率得到提高。 |
|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )
GMT+8, 2024-9-30 03:31 , Processed in 0.117764 second(s), 12 queries , Gzip On, MemCache On.
Powered by Discuz! X3.5
© 2001-2023 Discuz! Team.