准备参数:图片文件流、文件名
方法:1.先将图片流通过System.Drawing.Image.FromStream方法转成图片对象
2.通过图片对象.GetThumbnailImage方法生成自定义长宽的缩略图。
生成方法:
缩略图生成:
/// <summary> /// 缩略图 /// shidd /// </summary> /// <param name="myStream">文件流</param> /// <param name="serverUrl">文件名</param> /// <returns>字节数组</returns> private byte[] toImage(Stream myStream, string serverUrl) { //生成缩略图 //创建改变后的Stream var stream = new System.IO.MemoryStream(); //取得后缀名 string suffix = serverUrl.Substring(serverUrl.LastIndexOf(".")); //创建一个图像对象取得上传图片对象 System.Drawing.Image myImage = System.Drawing.Image.FromStream(myStream, false); //int percentage= myImage.Height / myImage.Width;//原图片比例 //由上传图片产生一个缩略图(600*400) System.Drawing.Image thumbImage = myImage.GetThumbnailImage(600, 400, null, System.IntPtr.Zero); //保存缩略图到Stream流 thumbImage.Save(stream, this.getImageFormat(suffix)); //关闭缩略图对象 thumbImage.Dispose(); return stream.ToArray(); }