C#实现为一张大尺寸图片创建缩略图的方法
本文实例讲述了C#实现为一张大尺寸图片创建缩略图的方法。分享给大家供大家参考。具体实现方法如下:
publicstaticBitmapCreateThumbnail(stringlcFilename,intlnWidth,intlnHeight) { System.Drawing.BitmapbmpOut=null; try { BitmaploBMP=newBitmap(lcFilename); ImageFormatloFormat=loBMP.RawFormat; decimallnRatio; intlnNewWidth=0; intlnNewHeight=0; //***Iftheimageissmallerthanathumbnailjustreturnit if(loBMP.Width<lnWidth&&loBMP.Height<lnHeight) returnloBMP; if(loBMP.Width>loBMP.Height) { lnRatio=(decimal)lnWidth/loBMP.Width; lnNewWidth=lnWidth; decimallnTemp=loBMP.Height*lnRatio; lnNewHeight=(int)lnTemp; } else { lnRatio=(decimal)lnHeight/loBMP.Height; lnNewHeight=lnHeight; decimallnTemp=loBMP.Width*lnRatio; lnNewWidth=(int)lnTemp; } bmpOut=newBitmap(lnNewWidth,lnNewHeight); Graphicsg=Graphics.FromImage(bmpOut); g.InterpolationMode=System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic; g.FillRectangle(Brushes.White,0,0,lnNewWidth,lnNewHeight); g.DrawImage(loBMP,0,0,lnNewWidth,lnNewHeight); loBMP.Dispose(); } catch { returnnull; } returnbmpOut; }
希望本文所述对大家的C#程序设计有所帮助。