asp.net生成缩略图及给原始图加水印
using System.IO;
using System.Drawing.Imaging;
private void Button1_ServerClick(object sender, System.EventArgs e)
{
Graphics g=null;
System.Drawing.Image upimage=null;
System.Drawing.Image thumimg=null;
System.Drawing.Image simage=null;
Bitmap outputfile=null;
try
{
string extension = Path.GetExtension(File1.PostedFile.FileName).ToUpper();
string filename = DateTime.Now.ToString("yyyyMMddhhmmss");
string smallpath = Server.MapPath(".")+"/smallimg/";
string bigpath = Server.MapPath(".")+"/bigimg/";
int width,height,newwidth,newheight;
System.Drawing.Image.GetThumbnailImageAbort callb =new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);
if(!Directory.Exists(smallpath))
Directory.CreateDirectory(smallpath);
if(!Directory.Exists(bigpath))
Directory.CreateDirectory(bigpath);
Stream upimgfile = File1.PostedFile.InputStream;
string simagefile = Server.MapPath("a8logo.jpg"); //要加水印的文件
simage=System.Drawing.Image.FromFile(simagefile);
upimage= System.Drawing.Image.FromStream(upimgfile); //上传的图片
width = upimage.Width;
height = upimage.Height;
if(width>height)
{
newwidth=200;
newheight =(int)((double)height/(double)width * (double)newwidth);
}
else
{
newheight=200;
newwidth=(int)((double)width/(double)height * (double)newheight);
}
thumimg = upimage.GetThumbnailImage(newwidth,newheight,callb,IntPtr.Zero);
outputfile=new Bitmap(upimage);
g=Graphics.FromImage(outputfile);
g.DrawImage(simage,new Rectangle(upimage.Width-simage.Width,upimage.Height-simage.Height,upimage.Width,upimage.Height),0,0,upimage.Width,upimage.Height,GraphicsUnit.Pixel);
string newpath = bigpath + filename + extension; //原始图路径
string thumpath = smallpath + filename + extension; //缩略图路径
outputfile.Save(newpath);
thumimg.Save(thumpath);
outputfile.Dispose();
}
catch(Exception ex)
{
throw ex;
}
finally
{
if(g!=null)
g.Dispose();
if(thumimg!=null)
thumimg.Dispose();
if(upimage!=null)
upimage.Dispose();
if(simage!=null)
simage.Dispose();
}
}
public bool ThumbnailCallback()
{
return false;
}
分享到:
相关推荐
在ASP.NET开发中,处理图片上传、生成缩略图以及添加文字和图片水印是常见的需求,这些功能在网站设计、电商系统、社交媒体平台等应用中尤为重要。下面将详细讲解这些知识点。 首先,**ASP.NET图片上传**是网站与...
在ASP.NET中,生成缩略图和为原始图像添加水印是常见的图像处理任务,尤其在网站开发中,用于展示用户上传的图片。本示例将详细解释如何使用C#和System.Drawing命名空间来实现这一功能。 首先,我们需要导入必要的...
在ASP.NET (#C#)开发中,生成缩略图、添加文字水印和图片水印是常见的需求,尤其是在处理网站的图像展示或者保护版权时。下面将详细解释这些概念及其实现方式。 首先,生成缩略图是将一张较大的图片转换为较小尺寸...
在ASP.NET中,上传图片并同时生成缩略图和添加水印是一项常见的需求,尤其在构建网站或应用程序时,为了优化用户体验和节省服务器资源,往往需要处理上传的图像。以下是一个详细的过程,介绍如何实现这一功能。 ...
在ASP.NET开发中,添加水印文字和生成缩略图是一项常见的需求,特别是在网站的图片处理功能中。本文将深入探讨如何使用ASP.NET实现这一功能,包括水印技术和图像缩略图的创建。 首先,我们需要了解什么是水印。水印...
本主题将深入探讨“超强的图片上传,加水印,以及生成缩略图”这一技术领域,结合给出的标签“缩略图”,“图片上传”,“水印”,我们将详细讲解相关知识点。 首先,图片上传是网站或应用中让用户上传图片的功能。...
3. **生成缩略图**:生成缩略图可以节省存储空间,同时在显示大量图像时提高页面加载速度。ASP.NET同样可以使用System.Drawing命名空间,通过调整图像的尺寸,或者使用高质量的缩放算法,来创建缩略图。还可以设置...
在ASP.NET开发中,处理图片的操作是常见的需求,如生成缩略图、添加水印(包括图片水印和文字水印)等。本压缩包"上传图片生成缩略图、图片水印、文字水印.rar"提供了一套完整的解决方案,适用于网站中需要处理图片...
在这个主题中,我们将深入探讨如何在MVC和.NET Core环境下实现网页转PDF、PDF转图片、图片加水印、生成二维码以及创建缩略图等实用功能。 1. **网页转PDF** 在.NET Core中,可以使用第三方库如HtmlToPdfConverter...
本例将详细介绍如何使用ASP.NET和C#实现图片的缩略图生成以及添加水印的功能,确保在处理过程中图片质量不受损失。 首先,让我们关注图片缩略图的生成。在ASP.NET中,可以创建一个自定义的类来处理这个任务。这个类...
在ASP.NET环境中,生成缩略图并添加水印是一项常见的需求,主要应用于网站的图片展示、用户上传图片处理等场景。下面将详细讲解如何利用ASP.NET实现这一功能,以及涉及的相关知识点。 首先,我们需要理解ASP.NET的...
在.NET开发中,生成缩略图和添加水印是常见的图像处理操作,这些操作通常涉及到对图像文件的读取、处理和保存。然而,在实际应用中,可能会遇到一些错误,如“GDI+中发生一般性错误”,这通常是由于资源管理不当导致...
5. 动态生成:根据用户请求,动态生成缩略图和加水印的图片,无需预先创建所有可能的缩略图。 6. 性能优化:可能包含内存管理和缓存策略,以减少对服务器资源的占用。 文件名称列表中的132690165793364703可能是该...
ASP.NET图片上传加水印EVPIc增强版是一款基于.NET框架的应用实例,它提供了一整套解决方案,用于处理用户在网站上上传图片的过程,包括图片的上传、添加水印、生成缩略图以及远程保存等功能。这个源代码库旨在帮助...
综合以上信息,这个组件提供了全面的图片处理功能,包括生成缩略图和添加水印,适用于.NET Web开发,通过示例代码和配置文件,开发者可以轻松地将其集成到自己的项目中,实现高效、安全的图片管理。
在网页开发中,"加水印"通常指的是在图片或文档上添加不可去除的标识,以保护版权或防止盗用。在ASP环境下实现水印功能,可以涉及图像处理库、编程逻辑以及服务器资源管理等多个方面。下面将详细探讨ASP加水印的相关...
接着,程序读取图片,添加预设的水印(如公司LOGO或日期),然后根据需要生成缩略图。生成的带水印和缩略图的图片可以存储回服务器,并返回URL给客户端展示。 5. 性能优化: 在处理大量图片时,应考虑性能优化。...
自动生成缩略图是一项重要的图像处理功能。在.NET中,可以使用System.Drawing命名空间下的类,如Image、Graphics和Bitmap等,来读取原始图片,调整大小并保存为新的缩略图。这个过程通常涉及图片的解码、重绘和编码...
图片处理类 ImageUtil.cs 缩略图、水印等操作 授权类 Licence.cs 生成授权码,验政授权码 链接辅助类 ListBuilder.cs 动态化url,target,css等属性 分页类 PageListUtil.cs 分页使用 反射辅助类 ReflectHelper.cs 获取...