首页 > 开发 > 综合 > 正文

C#减少图片文件大小和尺寸

2024-07-21 02:28:44
字体:
来源:转载
供稿:网友


收集最实用的网页特效代码!

有一个员工管理,需要在数据库字段中保存员工的照片,但已有的照片非常巨大,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左右,程序效率得到提高。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表