C#(CSharp) | VC/C++ | C++Builder | ASP(ASP.NET) | SQL Server | OpenGL | CMM | 网站开发SEO | 数控技术 | 地理信息系统 | WINDOWS操作系统 |
联高软件 > 技术文章 > C#(CSharp) > 超强C#图片上传,加水印,自动生成缩略图源代码(联高原创)
VB(ASP)/VB.NET | VC/VC++/VC.NET | C#(CSharp) | C++Builder | Java/JSP | EJB/J2EE |

超强C#图片上传,加水印,自动生成缩略图源代码(联高原创)

发表:联高软件www.legalsoft.com.cn,本文被阅读:1

北京联高软件开发有限公司倾情奉献经过测试的超强C#图片上传,加水印,自动生成缩略图源代码。可以指定水印位置、文字;可以设置缩略图背景颜色,边框及其颜色,阴影及其颜色;可以指定缩略图质量;支持GIF,JPEG,JPG,PNG,BMP,TIFF等多种格式图片文件。

<%@ Page Language="C#" AutoEventWireup="true" %>
<%@ Import Namespace="System" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Net" %>
<%@ Import NameSpace="System.Web" %>
<%@ Import NameSpace="Legalsoft.Images" %>
<script language="C#" runat="server">

protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
foreach (string f in Request.Files.AllKeys)
{
// 查找是否存在指定的目,如果允许创建目录,则创建之。
string f_path = TextBox1.Text;
if (!System.IO.Directory.Exists(Server.MapPath(f_path)))
{
if (CheckBox1.Checked)
{
System.IO.Directory.CreateDirectory(Server.MapPath(f_path));
}
else
{
return;
}
}
// 获取提交的文件名,包含的全部的目录信息;需要提取其文件名(名字+后缀)
HttpPostedFile file = Request.Files[f];
string fname = file.FileName.ToLower();
fname = fname.Replace("\\", "/");
int lsub = fname.LastIndexOf("/");
if (lsub >= 0)
{
fname = fname.Substring(lsub + 1, fname.Length - lsub - 1);
string[] fa_ext = fname.Split(".");
string f_pre = fa_ext[fa_ext.Length - 2];
string f_ext = fa_ext[fa_ext.Length - 1];
if (f_ext == "gif" || f_ext == "jpg" || f_ext == "jpeg")
{
file.SaveAs(Server.MapPath(f_path) + "/" + f_pre + "." + f_ext);

XImage img = new XImage();
// 添加水印
if (TextBox2.Text.Trim() != "")
{
img.markPosition = DropDownList5.Items[DropDownList5.SelectedIndex].Text;
img.Mark(f_path + f_pre + "." + f_ext, TextBox2.Text);
}

// 如果需要生成所略图
if (CheckBox2.Checked)
{
int tWidth = Int32.Parse(TextBox3.Text);
int tHeight = Int32.Parse(TextBox4.Text);
img.tBackground = img.ToColor(DropDownList1.Items[DropDownList1.SelectedIndex].Text);
img.tBorder = img.ToColor(DropDownList2.Items[DropDownList2.SelectedIndex].Text);
img.tShadow = img.ToColor(DropDownList3.Items[DropDownList3.SelectedIndex].Text);
img.tQuality = img.ToQuality(DropDownList4.Items[DropDownList4.SelectedIndex].Text);
img.ToThumbnail(f_path + f_pre + "." + f_ext, f_path + f_pre + "_thumb." + f_ext, tWidth, tHeight);
}
}
}
}
}
}

</script>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>C#图片上传及生成缩略图,添加水印的代码</title>
<meta name="keywords" content="C#文件上传的实例代码"/>
<meta name="description" content="在线式代码自动生成器SharpOnline只需要数据库Table定义就自动生成网站的全套C#源代码与页面(包括数据查询于操作、输入页面、编辑页面及其后台页面)。" />
<meta http-equiv="content-type" content="text/html; charset=gb2312"/>
<meta http-equiv="content-language" content="zh-cn"/>
<link href="/favicon.ico" type="image/x-icon" rel="shortcut icon"/>
<link href="/favicon.ico" type="image/x-icon" rel="bookmark"/>
<meta http-equiv="imagetoolbar" content="no"/>
<meta name="distribution" content="global"/>
<link href="/common/style.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<form id="form1" runat="server">
<center>

<div style="width:938px;background-color:#FFFFFF;">

<table width="938" style="background-color:#F0F0FF;padding:8px;line-height:24px;text-align:left;" cellpadding="0" cellspacing="0">
<tr>
<td align="right">保存的目录:</td>
<td>
<asp:TextBox ID="TextBox1" runat="server">/UploadedFiles/</asp:TextBox>
<asp:CheckBox ID="CheckBox1" runat="server" Checked="true" />自动创建目录
</td>
</tr>
<tr>
<td align="right">添加水印字:</td>
<td>
文字:<asp:TextBox ID="TextBox2" runat="server">50018.COM</asp:TextBox> (可以为空,则不加水印)<br />
位置:
<asp:DropDownList ID="DropDownList5" runat="server">
<asp:ListItem Selected="True">左下角</asp:ListItem>
<asp:ListItem>左上角</asp:ListItem>
<asp:ListItem>右下角</asp:ListItem>
<asp:ListItem>右上角</asp:ListItem>
<asp:ListItem>图片中间</asp:ListItem>
</asp:DropDownList><br />
</td>
</tr>
<tr>
<td align="right">生成缩略图:</td>
<td>
<asp:CheckBox ID="CheckBox2" Checked="true" runat="server" />生成缩略图<br />
宽度: <asp:TextBox ID="TextBox3" runat="server">100</asp:TextBox><br />
高度: <asp:TextBox ID="TextBox4" runat="server">75</asp:TextBox><br />
背景:
<asp:DropDownList ID="DropDownList1" runat="server">
<asp:ListItem Selected="True">无色</asp:ListItem>
<asp:ListItem>白色</asp:ListItem>
<asp:ListItem>红色</asp:ListItem>
<asp:ListItem>蓝色</asp:ListItem>
<asp:ListItem>黄色</asp:ListItem>
<asp:ListItem>黑色</asp:ListItem>
<asp:ListItem>绿色</asp:ListItem>
<asp:ListItem>紫色</asp:ListItem>
<asp:ListItem>灰色</asp:ListItem>
</asp:DropDownList><br />
边框:
<asp:DropDownList ID="DropDownList2" runat="server">
<asp:ListItem Selected="True">无色</asp:ListItem>
<asp:ListItem>白色</asp:ListItem>
<asp:ListItem>红色</asp:ListItem>
<asp:ListItem>蓝色</asp:ListItem>
<asp:ListItem>黄色</asp:ListItem>
<asp:ListItem>黑色</asp:ListItem>
<asp:ListItem>绿色</asp:ListItem>
<asp:ListItem>紫色</asp:ListItem>
<asp:ListItem>灰色</asp:ListItem>
</asp:DropDownList><br />
阴影:
<asp:DropDownList ID="DropDownList3" runat="server">
<asp:ListItem Selected="True">无色</asp:ListItem>
<asp:ListItem>白色</asp:ListItem>
<asp:ListItem>红色</asp:ListItem>
<asp:ListItem>蓝色</asp:ListItem>
<asp:ListItem>黄色</asp:ListItem>
<asp:ListItem>黑色</asp:ListItem>
<asp:ListItem>绿色</asp:ListItem>
<asp:ListItem>紫色</asp:ListItem>
<asp:ListItem>灰色</asp:ListItem>
</asp:DropDownList><br />
质量:
<asp:DropDownList ID="DropDownList4" runat="server">
<asp:ListItem Selected="True">100%</asp:ListItem>
<asp:ListItem>90%</asp:ListItem>
<asp:ListItem>80%</asp:ListItem>
<asp:ListItem>60%</asp:ListItem>
<asp:ListItem>50%</asp:ListItem>
<asp:ListItem>40%</asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr>
<td align="right">请选择文件:</td>
<td><asp:FileUpload ID="FileUpload1" runat="server" /></td>
</tr>
<tr>
<td align="right"></td>
<td><asp:Button ID="Button2" runat="server" Text="提交" Width="88px" /></td>
</tr>
</table>

</div>

</center>
</form>
</body>
</html>


 联高软件 > 技术文章 > C#(CSharp)
·C#中用SYSTEM.XML读写XML说明与代码 (10190)
·C#取真实IP地址及分析 (5606)
·ASP程序员学习C#之超级攻略 (2666)
·通过C#实现集合类纵览.NETCOLLECTIONS及相关技术 (2312)
·C#3.0中对象初始化器和集合初始化器 (1799)
·一个代码搞定页面压缩HTTPCOMPRESS源代码 (861)
·C#开发WAP之GOOGLEADSENSE移动广告代码获取源代码[原创] (1389)
·C#代码注释文字自动提取,与他人共享DLL (1965)
·用C#写ASP.NET搜索蜘蛛代码程序 (2382)
·C#编写GOOGLESITEMAP.XML源代码 (1668)
·C#开发WAP之GOOGLEADSENSE移动广告代码获取源代码[原创] (1389)
·EXCEL合并文件及合并工作表(工作薄)的通用方法[原创] (3528)
 最新文章
·一个代码搞定页面压缩HTTPC
·C#开发WAP之GOOGLEADSENSE移
·EXCEL合并文件及合并工作表
·C#代码注释文字自动提取,与
·两种通用分页存储过程的对比
·用C#写ASP.NET搜索蜘蛛代码
·C#编写GOOGLESITEMAP.XML源
·静态HTML代码优化的基本SEO
·几项SEO原则打造良好的网页
·如何使用SQLSERVER2000中的
·超强C#图片上传,加水印,自
·C#中用SYSTEM.XML读写XML说
·C#取真实IP地址及分析
·C#+DIRECT3D9.0开发实例之月
·ASP程序员学习C#之超级攻略
·通过C#实现集合类纵览.NETC
·C#开发WAP程序实例
·C#3.0中对象初始化器和集合
·C#3.0新特性速览
·ASP和ASP.NET的MD5加密中文
·CSS截取固定长度字符串
·简单实用的C#分词源代码(含
·C#高效分页代码(不用存储过
·SERVER.TRANSFER是在两个页
·一个克隆对象的C#基类
·C#语言FTP客户端代码
·递归枚举排列、组合的C#源码
·在C#.NET中跟踪代码的运行过
·ASP.NET2.0中实现跨页面提交
·C#通用的数据操作类
·常用的C#数据检查类
·C#中的域(FIELD)和属性(
·C#编码规范和编程好习惯
·C#编码好习惯
·用C#实现C/S模式下软件自动
·C#参考之访问关键字:BASE、
·C#实现遗传算法模拟花朵的进
·用C#的类实现数据结构的堆栈
·在C#中应用哈希表(HASHTABL
·用C#生成中文汉字验证码的基
·C#.NET支付宝接口
·在C#中利用SHARPZIPLIB进行
·程序员必须知道的SQLSERVER
·360度全方位比较C#和VB
·C#设计模式之建造者(BUILDE
·C#抽象工厂模式的几种实现方
·用设计模式固化C#程序
·数据结构与算法(C#实现)系列
·在C#中建立复杂的、灵活的S
·解读C#中的正则表达式
 热门文章
·程序员必须知道的SQLSERVER
·OpenGL 入门教程(一)
·C#中用SYSTEM.XML读写XML说
·OpenGL基础篇
·使用回调函数(VC & Delphi)
·OpenGL 入门教程(二)
·C++Builder的一些技巧
·数控加工技术试题库
·矩阵相乘的快速算法
·矩阵求逆的快速算法
·C#中SOCKET多线程编程实例
·数控车床加工编程典型实例分
·如何实现进程间数据通讯技术
·数控试题(一)
·第一个三角形:NeHe的OpenG
·数控考题(二)
·选择与反馈 (OpenGL)
·函数调用的几个概念:_stdc
·用C#实现C/S模式下软件自动
·C#高效分页代码(不用存储过
·SERVER.TRANSFER是在两个页
·TServerSocket和TClientSoc
·OpenGL 入门教程(三)
·OpenGL 入门教程(四)
·Dijkstra 最短路径算法的一
·地理信息系统中的常规网络分
·数控机床标准M代码
·数控车床基本坐标关系及几种
·纹理映射:OPENGL 教程-第六
·OpenGL 入门教程(六)