重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要讲解了“如何利用.NET生成缩略图”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何利用.NET生成缩略图”吧!
成都创新互联主要为客户提供服务项目涵盖了网页视觉设计、VI标志设计、成都全网营销推广、网站程序开发、HTML5响应式重庆网站建设、手机网站制作、微商城、网站托管及成都网站维护、WEB系统开发、域名注册、国内外服务器租用、视频、平面设计、SEO优化排名。设计、前端、后端三个建站步骤的完善服务体系。一人跟踪测试的建站服务标准。已经为成都服务器租用行业客户提供了网站营销服务。
.NET生成缩略图方法1. 使用Image的GetThumbnailImage 方法直接生成压缩图片,大概如此:
file://设置 原图片 对象的 EncoderParameters 对象,设置清晰度
ImageCodecInfo ici = GetCodecInfo((string)htmimes[mFileExtName]); EncoderParameters parameters = new EncoderParameters(1); parameters.Param[0] = new EncoderParameter(Encoder.Quality,lngDefinition); System.Drawing.Image.GetThumbnailImageAbort myCallback =new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback); System.Drawing.Image myThumbnail = image.GetThumbnailImage(intNewWidth, intNewHeight, myCallback, IntPtr.Zero); myThumbnail.Save(txtNewPath, ici, parameters); ImageCodecInfo ici = GetCodecInfo((string)htmimes[mFileExtName]); EncoderParameters parameters = new EncoderParameters(1); parameters.Param[0] = new EncoderParameter(Encoder.Quality,lngDefinition); System.Drawing.Image.GetThumbnailImageAbort myCallback =new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback); System.Drawing.Image myThumbnail = image.GetThumbnailImage(intNewWidth, intNewHeight, myCallback, IntPtr.Zero); myThumbnail.Save(txtNewPath, ici, parameters);
.NET生成缩略图方法2. 使用Graphics 重新绘制图象
ImageCodecInfo ici = GetCodecInfo((string)htmimes[mFileExtName]); EncoderParameters parameters = new EncoderParameters(1); parameters.Param[0] = new EncoderParameter(Encoder.Quality,lngDefinition); Bitmap objNewBitMap = new Bitmap(intNewWidth, intNewHeight, PixelFormat.Format32bppArgb); //从指定的 Image 对象创建新 Graphics 对象 Graphics objGraphics = Graphics.FromImage(objNewBitMap); //清除整个绘图面并以透明背景色填充 objGraphics.Clear(Color.Transparent); //在指定位置并且按指定大小绘制 原图片 对象 objGraphics.DrawImage(image, new Rectangle(0, 0, intNewWidth, intNewHeight)); objNewBitMap.Save(txtNewPath + txtNewFileName+"."+mFileExtName, ici, parameters); ImageCodecInfo ici = GetCodecInfo((string)htmimes[mFileExtName]); EncoderParameters parameters = new EncoderParameters(1); parameters.Param[0] = new EncoderParameter(Encoder.Quality,lngDefinition); Bitmap objNewBitMap = new Bitmap(intNewWidth, intNewHeight, PixelFormat.Format32bppArgb); //从指定的 Image 对象创建新 Graphics 对象 Graphics objGraphics = Graphics.FromImage(objNewBitMap); //清除整个绘图面并以透明背景色填充 objGraphics.Clear(Color.Transparent); //在指定位置并且按指定大小绘制 原图片 对象 objGraphics.DrawImage(image, new Rectangle(0, 0, intNewWidth, intNewHeight)); objNewBitMap.Save(txtNewPath + txtNewFileName+"."+mFileExtName, ici, parameters);
注意lngDefinition是调整清晰度的LONG型参数,一般50-90 就很清晰了。
.NET生成缩略图的2种效果,(相同宽度高度)清晰度上Graphics较好,图片Graphics绘制的也比较小,小1/3左右。
感谢各位的阅读,以上就是“如何利用.NET生成缩略图”的内容了,经过本文的学习后,相信大家对如何利用.NET生成缩略图这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!