public class ImportFileHelper{
public static Image vreateThumbnaulImage(string fileImagepath ,Size size){
using(FileStream file = File.OpenRead(fileImagepath)){
Stream fileStream = file;
Image rawImage = Image.FromStream(fileStream,true);//从文件取得图片对象,并使用流中嵌入的颜色管理信息
//缩略图宽、高
double newWidth = rawImage.Width, newHeight = rawImage.Height;
if(rawImage.Width >= rawImage.Height && rawImage.Width>size.Width){
newWidth =size.Width;//宽按模版,高按比例缩放
newHeight = rawImage.Height*(newWidth/rawImage.Width);
}
else{
if(rawImage.Height>size.Height){
newHeight = size.Height; //高按模版,宽按比例缩放
newWidth=rawImage.Width*(newHeight/rawImage.Height);
}
}
Image thumbnail = new Bitmap((int)newWidth,(int)newHeight); // 新建缩略图片
Graphics g = Graphics.FromImage(thumbnail);// 新建一个画板
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.Hight;//设置高质量插值法
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;//设置高质量,低速度呈现平滑程度
g.Clear(Color.White);//清空一下画布
g.DrawImage(rawImage,
new Rectangle(0,0,thumbnail.Width,thumbnail.Height),// 目标区域
new Rectangle(0,0,rawImage.Width,rawImage.Height), // 源区域
GraphicsUnit.Pixel);
rawImage.Dispose();
g.Dispose();
return thumbnail;
}
}
}