1.源码
/// <summary>
/// 为图片生成缩略图
/// </summary>
/// <param name="phyPath">原图片的路径</param>
/// <param name="width">缩略图宽</param>
/// <param name="height">缩略图高</param>
/// <returns></returns>
public System.Drawing.Image GetThumbnail(System.Drawing.Image image, int width, int height)
{
Bitmap bmp = new Bitmap(width, height);
//从Bitmap创建一个System.Drawing.Graphics
System.Drawing.Graphics gr = System.Drawing.Graphics.FromImage(bmp);
//设置
gr.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
//下面这个也设成高质量
gr.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
//下面这个设成High
gr.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
//把原始图像绘制成上面所设置宽高的缩小图
System.Drawing.Rectangle rectDestination = new System.Drawing.Rectangle(0, 0, width, height);
gr.DrawImage(image, rectDestination, 0, 0, image.Width, image.Height, GraphicsUnit.Pixel);
return bmp;
}
2.调用
HttpPostedFile file = photoFile.PostedFile;
if (!file.ContentType.Contains("image"))
{
return "照片格式不合法";
}
string ext = Path.GetExtension(file.FileName).ToLower();
if (ext != ".jpg" && ext != ".gif" && ext != ".png" && ext != ".jpeg")
{
return "请您上传jpg、gif、png图片";
}
if (file.ContentLength > 5 * 1024 * 1024)
{
return "请您上传512字节内的图片";
}
string newName = Guid.NewGuid().ToString();
string tempPath = "upload/";
string img = tempPath + newName + ext;
string filePath = Server.MapPath(img);
if (!Directory.Exists(tempPath))
{
Directory.CreateDirectory(tempPath);
}
using (System.Drawing.Image originalImage = System.Drawing.Image.FromStream(file.InputStream))
{
GetThumbnail(originalImage, 504, 374).Save(filePath);
}
转自网络,原作者佚名
分享到:
相关推荐
c# 生成图片缩略图
C#生成缩略图,C#缩略图,C#水印 很不错的
在asp.net中,上传图片功能或者是常用的,生成缩略图也是常用的。baidu或者google,c#的方法也是很多的,但是一用却发现缩略图不清晰啊,缩略图片太大之类的事情,下面是我在处理图片上的代码,效果不错,所以拿出来...
利用C#语言生成图片的缩略图,有需要可以参考一下。
主要介绍了c#生成高清缩略图的二个示例,需要的朋友可以参考下
C#生成网站缩略图.rar
C#生成缩略图(最终图片固定大小,图片按比例缩小,空白处用指定颜色填充,并为缩略图加上边框)
C#实现生成缩略图,并将生成的缩略图保存到临时区
C#中打开文件和自动生成缩略图代码详细介绍
上传原图,产生单一尺寸的缩略图和批量产生多个不同尺寸的缩略图。有需要的话还可以自己修改,源文件一同提供。
原类生成的缩略图的问题在于:高或者宽可能会大于需求值。比如,我需要的图片宽为150,高为120,当原图 * 高为150,宽为150或差距不大时,生成的图片不会有变化,即也是高150,宽150,这样,当把这些图片显示到网页...
给指定位置的图片文件批量添加缩略图
C#把Word和Excel生成缩略图示例代码-附带Aspose.Cells和Aspose.Words插件 使用 Aspose.Cells 生成Excel缩略图 使用 Aspose.Words 生成Word缩略图 项目中 bin目录下的 Aspose.Cells.dll 和 Aspose.Words.dll 是可...
生成图片缩略图 c#生成缩略图
网页生成图片 网页快照 网页抓图 网页载图 页面缩略图写的一个类,用时直接调用方法
c#开发的生成图像的缩率图。输入原图路径,输出缩略图
c#代码,针对图片进行缩放以及对图片增加水印
用c#写的压缩图的方法,不足地方欢迎指出。...对于大图片有时候我们需要生成其对应的缩略图,该方法根据你想要的压缩宽高对原图进行按比列压缩,压缩后结果是整张图片的,不会出现只压缩截取部分的情况。