当前位置: 首页 > 编程笔记 >

Asp.net开发之webform图片水印和图片验证码的实现方法

蒋星雨
2023-03-14
本文向大家介绍Asp.net开发之webform图片水印和图片验证码的实现方法,包括了Asp.net开发之webform图片水印和图片验证码的实现方法的使用技巧和注意事项,需要的朋友参考一下

两者都需要引入命名空间:using System.Drawing;

一、图片水印

前台Photoshuiyin.aspx代码:

<div>
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="Button1" runat="server" Text="上传" /><br />
<asp:Image ID="Image1" runat="server" />
</div>

后台Photoshuiyin.aspx.cs代码:

protected void Page_Load(object sender, EventArgs e)
{
Button1.Click += Button1_Click;
}
void Button1_Click(object sender, EventArgs e)
{
//1、制作画布
System.Drawing.Image img = System.Drawing.Image.FromStream(FileUpload1.FileContent);
Graphics g = Graphics.FromImage(img);
//水印样式:画什么东西
string a = "http://www.itnba.com";
//字体、大小
Font f = new Font("黑体", 30);
//颜色
Brush b = new SolidBrush(Color.Red);
//0,0——开始画水印的位置
g.DrawString(a, f, b, 0, 0);
//保存路径
string path = "images/" + FileUpload1.FileName;
img.Save(Server.MapPath(path));
//在image控件中展示
Image1.ImageUrl = path;
}

效果展示:

二、图片验证码

前台Photoyanzhengma.aspx代码:

<form id="form1" runat="server">
<div>
用户名:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<br />
密码:<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<br />
验证码:<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
<asp:Image ID="Image1" runat="server" ImageUrl="YZM.aspx" />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<br />
<asp:Button ID="Button1" runat="server" Text="Button" />
</div>
</form>
</body>
</html>
<script type="text/javascript">
var aaa = 1;
document.getElementById("Image1").onclick = function () {
this.setAttribute("src", "YZM.aspx?id=" + aaa);
aaa++;
};
</script>

链接页面“YZM.aspx”——无需前台代码,后台代码是:

protected void Page_Load(object sender, EventArgs e)
{
Random r = new Random();
string aaa = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
//生成画布
Bitmap img = new Bitmap(80, 30);
//画布背景色泛性组合
List<Color> Clist = new List<Color>();
Clist.Add(Color.Yellow);
Clist.Add(Color.Green);
Clist.Add(Color.Blue);
Clist.Add(Color.Aqua);
Clist.Add(Color.Orange);
Clist.Add(Color.Pink);
Graphics g = Graphics.FromImage(img);
g.FillRectangle(new SolidBrush(Clist[r.Next(0, Clist.Count)]), 0, 0, 80, 30);
//随机生成显示的验证码组合
string str = "";
for (int i = 0; i < 4; i++)
{
str += aaa.Substring(r.Next(0, aaa.Length), 1);
}
Session["YZM"] = str;
Font f = new Font("黑体", 20);
Brush b = new SolidBrush(Color.Red);
//生成
g.DrawString(str, f, b, 10, 0);
//添加干扰线
for (int i = 0; i < r.Next(6, 20); i++)
{
Brush bb = new SolidBrush(Clist[r.Next(0, Clist.Count)]);
Pen p = new Pen(bb, 1);
g.DrawLine(p, r.Next(0, 80), r.Next(0, 30), r.Next(0, 80), r.Next(0, 30));
}
//保存完成
img.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
Response.End();
}

效果展示:

以上所述是小编给大家介绍的Asp.net开发之webform图片水印和图片验证码的实现方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!

 类似资料:
  • 本文向大家介绍node.js WEB开发中图片验证码的实现方法,包括了node.js WEB开发中图片验证码的实现方法的使用技巧和注意事项,需要的朋友参考一下 用node做web开发很多都可能碰到需要验证码的地方,之前在github上搜索,有一些比如node-captcha等的类库,都需要依赖第三方的图形处理库或者软件,像我之前安装cario这个图形库时,真是费了好大一番劲,但是其实我们只用到了这

  • 本文向大家介绍ThinkPHP3.2.1图片验证码实现方法,包括了ThinkPHP3.2.1图片验证码实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了ThinkPHP3.2.1图片验证码实现方法。分享给大家供大家参考,具体如下: 今天用到图片验证码的功能,在网上找到ThinkPHP的以下代码: 添加到Controller中,通过地址“http://localhost/index.p

  • A common use case for watermarking is to lay one image on top of another. The following examples demonstrate some of the pre-packaged image positioning functions that come with watermark.js. Lower Rig

  • 本文向大家介绍iOS开发实现随机图片验证码封装,包括了iOS开发实现随机图片验证码封装的使用技巧和注意事项,需要的朋友参考一下 在 iOS 开发中,为了防止短信验证码的恶意获取,注册时需要图片验证,比如某共享单车 APP 在注册时就用了图片验证码,如下图: 图片验证码封装思路: 第一眼看到图片验证码,可能会觉得图片验证码是由 UIImage 实现的,但事实上明显不是,这里简单说下图片验证码封装思路

  • 本文向大家介绍PHP开发的文字水印,缩略图,图片水印实现类与用法示例,包括了PHP开发的文字水印,缩略图,图片水印实现类与用法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP开发的文字水印,缩略图,图片水印实现类与用法。分享给大家供大家参考,具体如下: 1.实现类ImageToTest.class.php参考代码 2.测试参考代码 更多关于PHP相关内容感兴趣的读者可查看本站专题

  • X1.6.0新增 sp_check_verify_code() 功能: 验证码检查,验证完后销毁验证码增加安全性 参数: 无 返回: 类型boolean true|false; 使用: <?php if(!sp_check_verify_code()){ echo '验证码不正确'; } 注:表单提交时验证码name为verify;支持POST和GET方法