#region Image_Thumbnail
        public static String Image_Thumbnail(String OriginalFilePath)
        {
            var FileInfo = new FileInfo(OriginalFilePath);
            if (!FileInfo.Exists) return "";
            return Image_Thumbnail(OriginalFilePath, 128);
        }
        public static String Image_Thumbnail(String OriginalFilePath, Boolean OverWrite)
        {
            var FileInfo = new FileInfo(OriginalFilePath);
            if (!FileInfo.Exists) return "";
            return Image_Thumbnail(OriginalFilePath, 128, OverWrite);
        }
        public static String Image_Thumbnail(String OriginalFilePath, Int32 Size)
        {
            return Image_Thumbnail(OriginalFilePath, Size, true);
        }
        public static String Image_Thumbnail(String OriginalFilePath, Int32 Size, Boolean OverWrite)
        {
            var FileInfo = new FileInfo(OriginalFilePath);
            if (!FileInfo.Exists) return "";
            return Image_Thumbnail(OriginalFilePath, FileInfo.DirectoryName + "\\" + FileInfo.Name.Ex_ToList('.').FirstOrDefault() + "_" + Size + "_" + Size + FileInfo.Extension, Size, OverWrite);
        }
        public static String Image_Thumbnail(String OriginalFilePath, String ThumbnailFilePath)
        {
            return Image_Thumbnail(OriginalFilePath, ThumbnailFilePath, 128);
        }
        public static String Image_Thumbnail(String OriginalFilePath, String ThumbnailFilePath, Boolean OverWrite)
        {
            return Image_Thumbnail(OriginalFilePath, ThumbnailFilePath, 128, OverWrite);
        }
        public static String Image_Thumbnail(String OriginalFilePath, String ThumbnailFilePath, Int32 Size)
        {
            return Image_Thumbnail(OriginalFilePath, ThumbnailFilePath, Size, true);
        }
        public static String Image_Thumbnail(String OriginalFilePath, String ThumbnailFilePath, Int32 Size, Boolean OverWrite)
        {
            if (File.Exists(ThumbnailFilePath))
            {
                if (!OverWrite)
                    return ThumbnailFilePath;
                else
                    File.Delete(ThumbnailFilePath);
            }
            System.Drawing.Image image = System.Drawing.Image.FromFile(OriginalFilePath);
            int srcWidth = image.Width;
            int srcHeight = image.Height;
            if (srcHeight <= Size && srcWidth <= Size)
            {
                File.Copy(OriginalFilePath, ThumbnailFilePath); return ThumbnailFilePath;
            }
            int thumbWidth = srcWidth > srcHeight ? Size : (Int32)(((float)srcWidth / srcHeight) * Size);
            int thumbHeight = srcHeight > srcWidth ? Size : (Int32)(((float)srcHeight / srcWidth) * Size);

            Bitmap bmp = new Bitmap(thumbWidth, thumbHeight);
            //从Bitmap创建一个System.Drawing.Graphics对象,用来绘制高质量的缩小图。

            System.Drawing.Graphics gr = System.Drawing.Graphics.FromImage(bmp);

            //设置 System.Drawing.Graphics对象的SmoothingMode属性为HighQuality

            gr.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;

            //下面这个也设成高质量

            gr.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;

            //下面这个设成High

            gr.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;

            //把原始图像绘制成上面所设置宽高的缩小图

            System.Drawing.Rectangle rectDestination = new System.Drawing.Rectangle(0, 0, thumbWidth, thumbHeight);
            gr.DrawImage(image, rectDestination, 0, 0, srcWidth, srcHeight, GraphicsUnit.Pixel);

            //保存图像,大功告成!

            bmp.Save(ThumbnailFilePath);

            //最后别忘了释放资源
            bmp.Dispose();
            image.Dispose();
            return ThumbnailFilePath;
        }

        #endregion