C#减少图片文件大小和尺寸
2006-08-15 10:29
716 查看
有一个员工管理,需要在数据库字段中保存员工的照片,但已有的照片非常巨大,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左右,程序效率得到提高。
//可以读取一些常用的格式,如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左右,程序效率得到提高。
相关文章推荐
- C#减少图片文件大小和尺寸(转)
- 用JS检测图片尺寸和图片文件的大小
- js判断图片上传时的文件大小,和宽高尺寸
- js实现上传图片本地预览功能以及限制图片的文件大小和尺寸大小
- 获得图片文件的图像尺寸大小
- C# 发送HttpWebRequest获得网络图片的大小和尺寸
- 把图片文件转换成指定大小尺寸格式的文件
- ASP.NET上传图片,服务器端验证,宽度,高度,文件类型,尺寸,文件大小,图片上传,图片格式检查
- ASP.NET上传图片,服务器端验证,宽度,高度,文件类型,尺寸,文件大小,图片上传,图片格式检查
- C# 修改图片文件分辨率大小
- Optimizilla中文在线无损压缩JPG、PNG图片,不降低画质有效减少图片文件大小
- 获得图片文件的图像尺寸大小(支持GIF,JPG,BMP格式)
- 巧用isee“压缩”限制图片的文件大小及其尺寸
- Android 减少APK大小--压缩图片资源文件
- ASP.NET上传图片时改变图片的尺寸和文件大小
- Unity3D之如何将包大小减少到极致 发表于2014年6月6日由陆泽西 Unity3D之如何将包大小减少到极致,图片是游戏app里最最占空间的资源,所以请各位还没有理解u3d对图片文件存储方式理解
- C# 发送HttpWebRequest获得网络图片的大小、尺寸
- 计算文件大小和base64解码图片
- 屏幕适配--自动生成各种屏幕大小的尺寸文件的jar包
- PHP高效获取远程图片尺寸和大小