這篇文章主要講解了“如何利用.NET生成縮略圖”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“如何利用.NET生成縮略圖”吧!
成都創(chuàng)新互聯(lián)主要為客戶提供服務(wù)項(xiàng)目涵蓋了網(wǎng)頁(yè)視覺設(shè)計(jì)、VI標(biāo)志設(shè)計(jì)、成都全網(wǎng)營(yíng)銷推廣、網(wǎng)站程序開發(fā)、HTML5響應(yīng)式重慶網(wǎng)站建設(shè)、手機(jī)網(wǎng)站制作、微商城、網(wǎng)站托管及成都網(wǎng)站維護(hù)、WEB系統(tǒng)開發(fā)、域名注冊(cè)、國(guó)內(nèi)外服務(wù)器租用、視頻、平面設(shè)計(jì)、SEO優(yōu)化排名。設(shè)計(jì)、前端、后端三個(gè)建站步驟的完善服務(wù)體系。一人跟蹤測(cè)試的建站服務(wù)標(biāo)準(zhǔn)。已經(jīng)為成都服務(wù)器租用行業(yè)客戶提供了網(wǎng)站營(yíng)銷服務(wù)。
.NET生成縮略圖方法1. 使用Image的GetThumbnailImage 方法直接生成壓縮圖片,大概如此:
file://設(shè)置 原圖片 對(duì)象的 EncoderParameters 對(duì)象,設(shè)置清晰度
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 對(duì)象創(chuàng)建新 Graphics 對(duì)象 Graphics objGraphics = Graphics.FromImage(objNewBitMap); //清除整個(gè)繪圖面并以透明背景色填充 objGraphics.Clear(Color.Transparent); //在指定位置并且按指定大小繪制 原圖片 對(duì)象 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 對(duì)象創(chuàng)建新 Graphics 對(duì)象 Graphics objGraphics = Graphics.FromImage(objNewBitMap); //清除整個(gè)繪圖面并以透明背景色填充 objGraphics.Clear(Color.Transparent); //在指定位置并且按指定大小繪制 原圖片 對(duì)象 objGraphics.DrawImage(image, new Rectangle(0, 0, intNewWidth, intNewHeight)); objNewBitMap.Save(txtNewPath + txtNewFileName+"."+mFileExtName, ici, parameters);
注意lngDefinition是調(diào)整清晰度的LONG型參數(shù),一般50-90 就很清晰了。
.NET生成縮略圖的2種效果,(相同寬度高度)清晰度上Graphics較好,圖片Graphics繪制的也比較小,小1/3左右。
感謝各位的閱讀,以上就是“如何利用.NET生成縮略圖”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)如何利用.NET生成縮略圖這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!