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#程序设计有所帮助。