#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
我知道这世界
如露珠般短暂
然而
然而
浙公网安备 33010602011771号