#region 图像处理
/// <summary>
/// 生成缩略图
/// </summary>
/// <param name="M_OriginalImagePath">源图路径(物理路径)</param>
/// <param name="M_ThumbnailPath">缩略图路径(物理路径)</param>
/// <param name="M_Width">缩略图宽度</param>
/// <param name="M_Height">缩略图高度</param>
public static void MakeThumbnail(string M_OriginalImagePath, string M_ThumbnailPath, int M_Width, int M_Height)
{
System.Drawing.Image originalImage = System.Drawing.Image.FromFile(M_OriginalImagePath);
int towidth = 0;
int toheight = 0;
if (originalImage.Width >= M_Width && originalImage.Height <= M_Height)
{
towidth = M_Width;
toheight = originalImage.Height;
}
if (originalImage.Width <= M_Width && originalImage.Height >= M_Height)
{
towidth = originalImage.Width;
toheight = M_Height;
}
if (originalImage.Width >= M_Width && originalImage.Height >= M_Height)
{
towidth = M_Width;
toheight = M_Height;
}
if (originalImage.Width <= M_Width && originalImage.Height <= M_Height)
{
towidth = originalImage.Width;
toheight = originalImage.Height;
}
int x = 0;//左上角的x坐标
int y = 0;//左上角的y坐标
//新建一个bmp图片
System.Drawing.Image bitmap = new System.Drawing.Bitmap(towidth, toheight);
//新建一个画板
Graphics g = System.Drawing.Graphics.FromImage(bitmap);
//设置高质量插值法
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
//设置高质量,低速度呈现平滑程度
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
//清空画布并以透明背景色填充
g.Clear(Color.Transparent);
//在指定位置并且按指定大小绘制原图片的指定部分
g.DrawImage(originalImage, x, y, towidth, toheight);
try
{
//以jpg格式保存缩略图
bitmap.Save(M_ThumbnailPath, System.Drawing.Imaging.ImageFormat.Jpeg);
}
catch (System.Exception e)
{
throw e;
}
finally
{
originalImage.Dispose();
bitmap.Dispose();
g.Dispose();
}
}
#endregion
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wangjun8868/archive/2008/11/12/3283493.aspx
分享到:
相关推荐
本文将深入探讨如何在Asp.net中解决这些问题,以生成高质量的缩略图。 首先,理解缩略图生成的基本过程至关重要。通常,我们使用图像处理库来读取原始图片,然后调整尺寸以创建缩略图。在.NET中,System.Drawing...
### 上传图片并生成高清晰缩略图 #### 背景与概述 在Web开发领域,特别是ASP.NET应用程序中,上传图片并自动生成高质量缩略图是一项常见且实用的功能。这种需求通常出现在用户头像上传、产品图片展示等场景中。...
在Asp.net开发中,生成图片的缩略图是一项常见的需求,这主要应用于网站的相册、产品展示或任何需要预览图片的场景。本文将详细介绍如何在Asp.net环境中实现图片的缩略图生成。 首先,我们需要了解缩略图生成的基本...
综上所述,通过分析这段ASP.NET生成缩略图的源码,我们不仅能够学习到如何实现图片的上传和处理,还能了解到如何通过合理的编程技巧提升图片质量和用户体验。这对于从事Web开发工作的技术人员来说是非常有价值的。
灵梦版缩略图插件,基于.NET2.0版本开发,可用于ASP.NET网站、应用程序等,插件特点:可指定生成图片大小(如生成图与原图比例不符不会变形),可自由指定图片质量(也可依此调整生成图片所占空间大小),可指定图片水印...
在ASP.NET中,上传图片并生成高清晰缩略图是一项常见的需求,特别是在构建涉及用户交互的Web应用程序时。下面将详细解释这个过程,并提供相关的代码示例。 首先,我们需要一个HTML表单来让用户选择要上传的图片。在...
ASP.NET 3.0 缩略图水印组件是一个用于在ASP.NET开发环境中处理图像的工具,它提供了创建缩略图以及在图像上添加水印的功能。这个组件可以帮助开发者高效地管理和展示网站上的图片资源,同时增强版权保护,通过...
在ASP.NET中生成高质量缩略图是一项常见的任务,特别是在构建图像处理或内容管理系统时。...总的来说,这段代码展示了在 ASP.NET 中如何生成高质量的缩略图,遵循了良好的图像处理实践,确保缩略图既小又清晰。
ASP.NET缩略图水印组件是用于Web应用程序开发的一个实用工具,主要功能是生成和处理图像的缩略图,并在缩略图上添加水印。这个组件极大地简化了开发者在处理图像显示、调整大小和品牌保护上的工作。下面将详细探讨这...
在asp.net中,上传图片功能或者是常用的,生成缩略图也是常用的。baidu或者google,c#的方法也是很多的,但是一用却发现缩略图不清晰啊,缩略图片太大之类的事情,下面是我在处理图片上的代码,效果不错,所以拿出来...
在ASP.NET 2.0开发中,生成缩略图和添加水印是常见的图像处理需求。这涉及到图像处理技术,包括尺寸调整、图像质量保持、以及如何在图像上添加文字或图片作为装饰或版权保护。以下是对这些知识点的详细解释: 1. **...
在ASP.NET开发中,处理图像是一项常见的任务,包括上传图片、生成缩略图、添加水印(图片水印和文字水印)等。这个压缩包文件"ASP.NET-[其他类别]上传图片生成缩略图、图片水印、文字水印.zip"显然包含了一个示例...
以下是一个详细的asp.net生成缩略图的示例方法。 首先,我们需要了解生成缩略图的基本思路。缩略图的生成通常是基于原始图片的比例来调整尺寸,以确保图片的清晰度。在某些情况下,可能还需要添加背景色或进行居中...
本文介绍的UploadImage工具类提供了一系列功能,包括图片上传、添加水印、生成缩略图以及裁剪图片,这些功能在很多网站如社交媒体、电商或博客系统中都是必需的。 首先,让我们详细了解UploadImage类的主要属性和...
9. **第15章 图形图像编程**:介绍了在ASP.NET中处理图像的方法,可能包括动态生成图像、图片上传、缩略图生成、图像处理库的使用等。 10. **第18章 内容提要**:这部分是对整本书的主要内容的概述,帮助读者快速...
在ASP.NET中处理图像检索技术是一项重要的技能,它涉及到图片的上传、存储、查询、显示以及高级的图像处理功能,如缩略图生成、图像过滤等。本毕业设计涵盖了这些关键知识点,并提供了完整的源代码,论文,开题报告...
3. 照片上传与展示模块:利用ASP.NET的文件上传控件,用户可以方便地上传照片,系统会自动处理图片缩略图生成,以优化网页加载速度。照片信息(如大小、格式等)会保存到数据库,以便后续查询和展示。 4. 搜索与...
这可以通过创建一个ASP.NET Web Forms页面或MVC视图来完成,使用数据绑定技术(如Repeater或GridView)显示图片的缩略图。图片路径可以从数据库中获取,数据库存储了每个文件的元数据,包括文件名、路径和上传时间。...