PS图片上传图片 同时生成微缩图
2010-12-24 01:35
302 查看
一、技术概述: 1.Ajax无刷新上传图片,详情请阅我的这篇文章.(jquery + c# ashx) 2.C#位图处理 System.Drawing. 3.最新demo支持IE7,IE8,FireFox. 二、微缩图处理方法: 生成微缩图的核心方法: CreateThumbnailPicture /// /// 图片微缩图处理 /// /// /// /// /// public static void CreateThumbnailPicture(string srcPath, string destPath, int width, int height) { //根据图片的磁盘绝对路径获取 源图片 的Image对象 System.Drawing.Image img = System.Drawing.Image.FromFile(srcPath); //bmp: 最终要建立的 微缩图 位图对象. Bitmap bmp = new Bitmap(width, height); //g: 绘制 bmp Graphics 对象 Graphics g = Graphics.FromImage(bmp); g.Clear(Color.Transparent); //为Graphics g 对象 初始化必要参数,很容易理解. g.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality; g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High; g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality; //源图片宽和高 int imgWidth = img.Width; int imgHeight = img.Height; //绘制微缩图 g.DrawImage(img, new System.Drawing.Rectangle(0, 0, width, height), new System.Drawing.Rectangle(0, 0, imgWidth, imgHeight) , GraphicsUnit.Pixel); ImageFormat format = img.RawFormat; ImageCodecInfo info = ImageCodecInfo.GetImageEncoders().SingleOrDefault(i => i.FormatID == format.Guid); EncoderParameter param = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 100L); EncoderParameters parameters = new EncoderParameters(1); parameters.Param[0] = param; img.Dispose(); //保存已生成微缩图,这里将GIF格式转化成png格式. if (format == ImageFormat.Gif) { destPath = destPath.ToLower().Replace(".gif", ".png"); bmp.Save(destPath, ImageFormat.Png); } else { if (info != null) { bmp.Save(destPath, info, parameters); } else { bmp.Save(destPath, format); } } img.Dispose(); g.Dispose(); bmp.Dispose(); } |
相关文章推荐
- C#也能PS图片,还能为网站Ajax上传图片同时生成微缩图(附Demo)
- C#也能PS图片,还能为网站Ajax上传图片同时生成微缩图(附Demo)
- PS图片上传图片 同时生成微缩图
- C#实战:PS图片上传图片 同时生成微缩图<转>
- Asp.net上传图片同时生成缩略图和水印图后台代码
- asp.net上传图片并同时生成缩略图
- asp.net上传图片并同时生成缩略图
- Asp.net上传图片同时生成缩略图和水印图
- asp.net 上传图片并同时生成缩略图的代码
- [网络收集]Asp.net上传图片同时生成缩略图和水印图后台代码
- js上传图片,同时生成缩略图
- asp.net上传图片并同时生成缩略图
- asp.net上传图片并同时生成缩略图
- asp.net上传图片并同时生成缩略图
- asp.net上传图片并同时生成缩略图
- asp.net上传图片并同时生成缩略图
- asp.net上传图片并同时生成缩略图
- asp.net上传图片并同时生成缩略图
- asp.net 上传图片并同时生成缩略图的代码
- asp.net上传图片并同时生成缩略图