using System; using System.Collections.Generic; using System.Text; using System.Drawing; using System.Drawing.Imaging; public class CreateImgThumb { /// <summary> /// 回调函数 /// </summary> /// <returns></returns> private static bool ThumbnailCallback() { return false; } /// <summary> /// 生成不带水印的缩微图 /// </summary> /// <param name="path">原图片的路径</param> /// <param name="width">缩微图的宽度,以像素为单位</param> /// <param name="height">缩微图的高度,以像素为单位</param> public void Thumb(string path, string newpath, int width, int height) { Image.GetThumbnailImageAbort myCallBack = new Image.GetThumbnailImageAbort(ThumbnailCallback); Bitmap myBitmap = new Bitmap(path); Image myImage = myBitmap.GetThumbnailImage(width, height, myCallBack, IntPtr.Zero); myImage.Save(newpath,mageFormat.Gif); } /// <summary> /// 生成带水印的缩微图 /// </summary> /// <param name="path">原图片的路径</param> /// <param name="width">缩微图的宽度,以像素为单位</param> /// <param name="height">缩微图的高度,以像素为单位</param> /// <param name="info">水印信息</param> public void Thumb(string path, string newpath, int width, int height, int left, int right, string info) { Image.GetThumbnailImageAbort myCallBack = new Image.GetThumbnailImageAbort(ThumbnailCallback); Bitmap myBitmap = new Bitmap(path); //生成缩微图 Image myImage = myBitmap.GetThumbnailImage(width, height, myCallBack, IntPtr.Zero); Graphics myGraphics = Graphics.FromImage(myImage); //加水印 myGraphics.DrawString(info, new Font("Courier New", 14), new SolidBrush(Color.Red), left, right); //保存缩微图 myImage.Save(newpath); } } 加水印这块尚不是很完善,需要自己完善一下,我在web使用的时候是通过css覆盖一个水印信息。