asp.net生成缩略图及给原始图加水印

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;
}

时间: 2024-10-02 18:21:54

asp.net生成缩略图及给原始图加水印的相关文章

asp.net生成缩略图

asp.net|缩略图 当我们要上传图片的时候,往往需要生成缩略图,以往我们要使用第三方控件才能完成.在asp.net中用下面方法轻松搞定<script language="VB" runat="server">Sub Page_Load(sender As Object, e As EventArgs) Dim image,aNewImage As System.Drawing.Imagedim width,height,newwidth,newhei

asp.net生成缩略图并支持文件上传实现代码

   代码如下 复制代码 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Drawing; using System.IO; namespace web三层 { /// <summary> /// 显示请求图片的缩略图,以宽度100像素为最大单位 /// </summary> public class imgSmall : IHttpH

ASP.net 生成缩略图的实例源代码

  using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System

asp.net生成缩略图示例方法分享_实用技巧

做站的时候经常会遇到要生成缩略图的功能,因为可能不同的情况需要用来不同大小的缩略图. 本文生成的图片都为正方形,只有正方形的缩略图才是保证图片足够清晰. 当我我这里说的正方形是先按比例压缩,然后加一个固定的白底 然后居中显示. 代码: 新建outputimg.ashx 复制代码 代码如下: //调整图片大小private static Size NewSize(int maxWidth, int maxHeight, int Width, int Height)        {        

asp.net 生成缩略图代码_实用技巧

复制代码 代码如下: using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; usi

asp.net生成缩略图实现代码_实用技巧

复制代码 代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Drawing; using System.IO; namespace web三层 { /// <summary> /// 显示请求图片的缩略图,以宽度100像素为最大单位 /// </summary> public class imgSmall : IHttpHan

ASP.NET实现上传图片并生成缩略图的方法_实用技巧

本文实例讲述了ASP.NET实现上传图片并生成缩略图的方法.分享给大家供大家参考,具体如下: protected void bt_upload_Click(object sender, EventArgs e) { //检查上传文件的格式是否有效 if (this.UploadFile.PostedFile.ContentType.ToLower().IndexOf("image") < 0) { Response.Write("上传图片格式无效!"); re

asp生成缩略图代码 [aspjpeg]

 asp生成缩略图   asp 自动生成缩略图   asp.net 生成缩略图   asp代码生成器   aspjpeg是免费的,下一个就能用,现在一般的空间都支持这个组件   无组件的原理和在图片上写width=100 height=100 一样的,只是宽高等比了,体积还是没有压缩,估计无组件做不了这个吧    call compressphoto(photopath,120,90)        '原图路径 缩略图宽 缩略图高    function compressphoto(photop

c#地图-asp.net生成百度地图问题

问题描述 asp.net生成百度地图问题 最近做一个项目,里面有个模块类似美团. 问题来了:后台添加某商品时,商家位置要求动态地图展示,如百度地图: 请问填写详细地址时,怎么生成相应地图?数据如何保存? 解决方案 用百度地图的地址解码后得到经纬度,然后添加覆盖物 http://developer.baidu.com/map/index.php?title=jspopular/guide/service#.E5.9C.B0.E7.90.86.E7.BC.96.E7.A0.81 解决方案二: asp