在.net中使用System.Drawing创建验证码

拉拉

我已经在C#中生成了6位字母数字文本,现在我需要将其显示为图像。为此,我使用BitmapGraphics在.NET。

结果,我能够获得图像,但是我需要对图像的字体进行一些小的更改,就像我们在Captcha Challenge之字形中看到的那样,使它有点难以阅读。

这是我的代码...

Bitmap bmp = new Bitmap(100, 30);
Graphics g = Graphics.FromImage(bmp);
g.Clear(Color.Navy);
string randomString = CaptchaImageResult.GetCaptchaString(6);
g.DrawString(randomString, new Font("Courier", 16), 
             new SolidBrush(Color.WhiteSmoke), 2, 2);
HttpResponse response = System.Web.HttpContext.Current.Response;
response.ContentType = "image/jpeg";
bmp.Save(response.OutputStream, ImageFormat.Jpeg);
bmp.Dispose();
new CaptchaChallenge { Captcha = bmp };

更新..

我尝试使用此代码,但字母不清楚。

 Brush zigzagBrush = new System.Drawing.Drawing2D.HatchBrush(
                         System.Drawing.Drawing2D.HatchStyle.ZigZag, Color.White);
 g.DrawString(randomString, new Font("Courier", 16), zigzagBrush, 2, 2);
ᴀʀʜᴀɴ

舱口刷覆盖会更好:

Bitmap bmp = new Bitmap(100, 30);
Graphics g = Graphics.FromImage(bmp);
g.Clear(Color.Navy);
g.DrawString(code, new Font("Courier", 16),
                     new SolidBrush(Color.WhiteSmoke), 2, 2);
g.FillRectangle(new HatchBrush(HatchStyle.BackwardDiagonal, Color.FromArgb(255,0,0,0),Color.Transparent), g.ClipBounds );
g.FillRectangle(new HatchBrush(HatchStyle.ForwardDiagonal, Color.FromArgb(255, 0, 0, 0), Color.Transparent), g.ClipBounds);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用PHP创建图像验证码

来自分类Dev

使用硒处理验证码

来自分类Dev

使用jsoup获取验证码图像

来自分类Dev

使用硒来解决验证码

来自分类Dev

验证码无法在线使用

来自分类Dev

验证码使用离线资源

来自分类Dev

如何在Wordpress插件中使用验证码

来自分类Dev

使用AJAX验证JSP页面中的验证码

来自分类Dev

使用PHP的JQuery ajax验证码验证

来自分类Dev

通过使用Glide无法刷新验证码图像

来自分类Dev

使用python提交带有硒的验证码

来自分类Dev

如何使用Jsoup获取表单验证码图像?

来自分类Dev

使验证码插件与注册操作一起使用

来自分类Dev

使用Codeigniter的验证码无法正常工作

来自分类Dev

C#如何使用OpenCV消除验证码的噪声?

来自分类Dev

如何使用Selenium和Python绕过Google验证码?

来自分类Dev

验证码:强盗,使用递归+备忘录

来自分类Dev

使用python从验证码图像中删除行

来自分类Dev

如何使用gocolly twocaptcha和硒绕过验证码

来自分类Dev

等待使用puppeteer显示Google验证码

来自分类Dev

使用网络驱动程序自动进行验证码?

来自分类Dev

PHP / Jquery:使用jquery刷新点击验证码

来自分类Dev

无法使用IBM WebSphere的验证码服务

来自分类Dev

需要在我的组件/模块中使用joomla 2.5验证码框架的示例

来自分类Dev

codeigniter:无法创建验证码

来自分类Dev

在 javascript 中创建基本验证码

来自分类Dev

使用其哈希密钥在客户端验证验证码是否安全?

来自分类Dev

使用输入过滤器时,将忽略ZF2验证码验证

来自分类Dev

使用验证码形式的夹层中的CSRF令牌验证失败