/// <summary> /// 生成缩略图 (高清缩放) /// </summary> /// <param name="originalImage">原图片</param> /// <param name="width">缩放宽度</param> /// <param name="height">缩放高度</param> /// <returns></returns> public static Image Makesmallimage(System.Drawing.Image originalImage, int width, int height) { int towidth = 0; int toheight = 0; if (originalImage.Width > width && originalImage.Height < height) { towidth = width; toheight = originalImage.Height; } if (originalImage.Width < width && originalImage.Height > height) { towidth = originalImage.Width; toheight = height; } if (originalImage.Width > width && originalImage.Height > height) { towidth = width; toheight = height; } if (originalImage.Width < width && originalImage.Height < height) { towidth = originalImage.Width; toheight = originalImage.Height; } int x = 0;//左上角的x坐标 int y = 0;//左上角的y坐标 //新建一个bmp图片 System.Drawing.Image bitmap = new System.Drawing.Bitmap(towidth, toheight); //新建一个画板 Graphics g = System.Drawing.Graphics.FromImage(bitmap); //设置高质量插值法 g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High; //设置高质量,低速度呈现平滑程度 g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; //清空画布并以透明背景色填充 g.Clear(Color.Transparent); //在指定位置并且按指定大小绘制原图片的指定部分 g.DrawImage(originalImage, x, y, towidth, toheight); originalImage.Dispose(); //bitmap.Dispose(); g.Dispose(); return bitmap; }