asp.net webform 中怎样写二进制形式的<img src="" />形式
2016-04-26 13:50
543 查看
感谢大神wangjun8868
<img src="DrawBar.aspx" />
<img src="DrawBar.aspx" />
public void CheckCodes(string CheckCode) { Random rand = new Random(); int iwidth = (int)(CheckCode.Length * 15); System.Drawing.Bitmap image = new System.Drawing.Bitmap(iwidth, 22); Graphics g = Graphics.FromImage(image); g.Clear(Color.White); //画图片的背景噪音线20条 for (int i = 0; i < 20; i++) { int x1 = rand.Next(image.Width); int x2 = rand.Next(image.Width); int y1 = rand.Next(image.Height); int y2 = rand.Next(image.Height); g.DrawLine(new Pen(Color.Silver), x1, x2, y1, y2); } //定义颜色 Color[] c = { Color.Black, Color.Red, Color.DarkBlue, Color.Green, Color.Orange, Color.Brown, Color.DarkCyan, Color.Purple, Color.YellowGreen }; //定义字体 string[] font = { "Verdana", "Microsoft Sans Serif", "Comic Sans MS", "Arial", "宋体", "新宋体" }; //随机输出噪点 for (int i = 0; i < 50; i++) { int x = rand.Next(image.Width); int y = rand.Next(image.Height); g.DrawRectangle(new Pen(Color.LightGray, 0), x, y, 1, 1); } //输出不同字体和颜色的验证码字符 for (int i = 0; i < CheckCode.Length; i++) { int cindex = rand.Next(7); int findex = rand.Next(6); Font f = new System.Drawing.Font(font[findex], 12, System.Drawing.FontStyle.Bold); Brush b = new System.Drawing.SolidBrush(c[cindex]); int ii = 4; if ((i + 1) % 2 == 0) { ii = 2; } g.DrawString(CheckCode.Substring(i, 1), f, b, 3 + (i * 12), ii); } //画一个边框 g.DrawRectangle(new Pen(Color.Black, 0), 0, 0, image.Width - 1, image.Height - 1); //输出到浏览器 System.IO.MemoryStream ms = new System.IO.MemoryStream(); image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif); HttpContext.Current.Response.ClearContent(); //Response.ClearContent(); HttpContext.Current.Response.ContentType = "image/Png"; HttpContext.Current.Response.BinaryWrite(ms.ToArray()); g.Dispose(); image.Dispose(); }
相关文章推荐
- .NET跨平台之旅:升级ASP.NET Core示例站点
- Asp.Net alert弹出提示信息的5种方法
- 【推荐】【给中高级开发者】构建高性能ASP.NET应用的几点建议
- ASP.NET中Literal与Label控件的区别
- asp.net创建XML文件的方法小结
- ASP.NET中Cookie的使用方法
- JAVA8 JVM的变化: 元空间(Metaspace)
- ASP.NET 中的Application详解
- asp.net 执行存储过程 无输出参数 有两个输入参数
- asp.net实现在XmlTextWriter中写入一个CDATA的方法
- asp.net简单生成XML文件的方法
- Raspberry Pi3 ~ 搭建开发环境
- ASP.NET MVC 整合 Spring.net- Controller注入
- ASP.NET的优点
- 【推荐】【给中高级开发者】构建高性能ASP.NET应用的几点建议
- ASP.NET教程收集
- asp.net简单生成XML文件的方法
- asp.net实现在XmlTextWriter中写入一个CDATA的方法
- ASP.NET 中的Application详解
- ASP.NET中Cookie的使用方法