惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
小众软件
小众软件
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - Franky
Jina AI
Jina AI
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Y
Y Combinator Blog
V
Visual Studio Blog
C
Check Point Blog
阮一峰的网络日志
阮一峰的网络日志
U
Unit 42
量子位
人人都是产品经理
人人都是产品经理
博客园 - 聂微东
M
MIT News - Artificial intelligence
爱范儿
爱范儿
B
Blog RSS Feed
MyScale Blog
MyScale Blog
H
Help Net Security
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
美团技术团队
L
LangChain Blog
D
Docker

博客园 - 文's sky

泛型列表(List)的搜索和排序 [笔记]读取含日期格式的记录SQLite报错"该字符串未被识别为有效的 DateTime"的问题 FtpWebRequest 的杂症 - "The server committed a protocol violation","基础连接已经关闭: 服务器提交了协议冲突" SqlServer 2000默认开启连接池 设计模式学习系列-C#的单件模式 ASP 整合ASP.NET的URL参数编码问题 - 文's sky 序列化遇到"不应有的节点" 转换链接的正则 一、NVelocity介绍 NVelocity开篇 准确计算时间差 EXPLORER自动连接221.5.250.163 模板机制的第一个程序Hello World [笔记]DataView格式化显示数据不能的问题 .Net论坛,让人看笑话~ 实在受不了了,大家来帮帮我如何调用这个C++/CLI的DLL C#外挂专用截取显示器图像代码 C#游戏外挂代码 重置递增号
ASP.NET C# 验证码 支持中文 噪点 弯曲
文's sky · 2007-12-05 · via 博客园 - 文's sky

/// <summary>
        
/// 根据指定参数返回BitMap对象
        
/// 引用如下:
        
/// using System.Drawing;
        
/// 调用例子如下:
        
///     eg1、保存为图象文件为
        
///     Bitmap srBmp = srBitmap(srs);
        
///     srBmp.Save(Directory.GetCurrentDirectory() + "\\srs.gif", System.Drawing.Imaging.ImageFormat.Gif);
        
///     srBmp.Dispose();
        
///     eg2。网页中调用方式如下
        
///     Bitmap srBmp = srBitmap(srs);
        
///     System.IO.MemoryStream srMS = new System.IO.MemoryStream();
        
///     srBmp.Save(srMS,System.Drawing.Imaging.ImageFormat.Gif);
        
///     Response.ClearContent();
        
///     Response.ContentType = "image/gif";
        
///     Response.BinaryWrite(srMS.ToArray());
        
///     srBmp.Dispose();
        
/// </summary>
        
/// <param name="srs"></param>
        
/// <returns></returns>

        
public static Bitmap srBitmap(string srs)
        {
            
//定义图片弯曲的角度
            int srseedangle = 45;
            
//定义图象
            Bitmap srBmp = new Bitmap(srs.Length*20,30);
            
//画图
            Graphics srGraph = Graphics.FromImage(srBmp);
            
//清空图象
            srGraph.Clear(Color.AliceBlue);
            
//给图象画边框
            srGraph.DrawRectangle(new Pen(Color.Black,0),0,0,srBmp.Width-1,srBmp.Height-1);
            
//定义随即数
            Random srRandom = new Random();
            
//定义画笔
            Pen srPen = new Pen(Color.LightGray,0);
            
//画噪点
            for (int i = 0; i < 100; i++)
            {
                srGraph.DrawRectangle(srPen,srRandom.Next(
1,srBmp.Width-2),srRandom.Next(1,srBmp.Height-2),1,1);
            }
            
//将字符串转化为字符数组
            char[] srchars = srs.ToCharArray();
            
//封状文本
            StringFormat srFormat = new StringFormat(StringFormatFlags.NoClip);
            
//设置文本垂直居中
            srFormat.Alignment = StringAlignment.Center;
            
//设置文本水平居中
            srFormat.LineAlignment = StringAlignment.Center;
            
//定义字体颜色
            Color[] srColors ={ Color.Black,Color.Red,Color.DarkBlue,Color.Blue,Color.Orange,Color.Brown,Color.DarkCyan,Color.Purple};
            
//定义字体
            string[] srFonts ="Verdana""Microsoft Sans Serif""Comic Sans MS""Arial""宋体" };
            
//循环画出每个字符
            for (int i = 0, j = srchars.Length; i < j; i++)
            {
                
//定义字体 参数分别为字体样式 字体大小 字体字形
                Font srFont = new Font(srFonts[srRandom.Next(5)], srRandom.Next(12,20), FontStyle.Regular);
                
//填充图形
                Brush srBrush = new SolidBrush(srColors[srRandom.Next(7)]);
                
//定义坐标
                Point srPoint = new Point(1616);
                
//定义倾斜角度
                float srangle = srRandom.Next(-srseedangle, srseedangle);
                
//倾斜
                srGraph.TranslateTransform(srPoint.X, srPoint.Y);
                srGraph.RotateTransform(srangle);
                
//填充字符
                srGraph.DrawString(srchars[i].ToString(),srFont,srBrush,1,1,srFormat);
                
//回归正常
                srGraph.RotateTransform(-srangle);
                srGraph.TranslateTransform(
2,-srPoint.Y);
            }
            srGraph.Dispose();
            
return srBmp;
        }

转http://blog.csdn.net/srnpr/archive/2007/11/08/1875187.aspx