C#或ASP.NET的简单绘图

 public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "img/JPEG";
using(System.Drawing.Bitmap bm=new System.Drawing.Bitmap(,))//规定大小
{
using(System.Drawing.Graphics g=System.Drawing.Graphics.FromImage(bm))//图像化
{
g.DrawString("腾讯QQ",new Font("楷体",),Brushes.Green,new PointF(,));
g.DrawEllipse(Pens.AliceBlue,new Rectangle(,,,));
bm.Save(context.Response.OutputStream,System.Drawing.Imaging.ImageFormat.Jpeg);//保存到网页
}
}

下面这个例子是一个验证码问题

先是example.asph文件

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div> <div><img src="AddCalation.ashx"onclick="this.src='AddCalation.ashx?aaa='+new Date()" /></div>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" /> </div>
</form>
</body>
</html>

然后是example.aspx.cs文件

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; public partial class TestCode : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ }
protected void Button1_Click(object sender, EventArgs e)
{
string code = Session["test"].ToString();
if(code==TextBox1.Text)
{
Response.Write("匹配正确");
}
else
{
Response.Write("匹配错误");
}
}
}

再是验证码图片创造文件example.ashx

 <%@ WebHandler Language="C#" Class="AddCalation" %>

 using System;
using System.Web;
using System.Drawing;
public class AddCalation : IHttpHandler,System.Web.SessionState.IRequiresSessionState{ public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "img/JPEG";
using(System.Drawing.Bitmap bm=new System.Drawing.Bitmap(150,60))
{
using(System.Drawing.Graphics g=System.Drawing.Graphics.FromImage(bm))
{
Random rand = new Random();
int code = rand.Next();
string testcode=code.ToString().Substring(0,4);
HttpContext.Current.Session["test"] = testcode;
g.DrawString(testcode,new Font("楷体",40),Brushes.Green,new PointF(10,5)); bm.Save(context.Response.OutputStream,System.Drawing.Imaging.ImageFormat.Jpeg);
}
} } public bool IsReusable {
get {
return false;
}
} }

执行效果如下图

C#或ASP.NET绘图初探的更多相关文章

  1. Asp.net Core 初探(发布和部署Linux)

    前言 俗话说三天不学习,赶不上刘少奇.Asp.net Core更新这么长时间一直观望,周末帝都小雨,宅在家看了下Core Web App,顺便搭建了个HelloWorld环境来尝尝鲜,第一次看到.Ne ...

  2. x01.TodoList:Asp.Net 5 初探

    ASP.NET 5 是比较新的,除了汤姆的博文,学习资料并不多.而学习没有例子上手,是比较痛苦的. 1.运行 vs2015,新建项目,选择 Asp.Net 5 WebApp 模板,默认运行即可.对照汤 ...

  3. Asp.Net Core 初探 (三)

    昨天失败的生产环境部署就先放着,明天再解决! 今天利用中午的空余时间看了一下Asp.net core 的Areas . 相对于Asp.net MVC5 以及之前的版本,asp.net core 的Ar ...

  4. ASP.NET Core 学习笔记 第一篇 ASP.NET Core初探

    前言 因为工作原因博客断断续续更新,其实在很早以前就有想法做一套关于ASP.NET CORE整体学习度路线,整体来说国内的环境的.NET生态环境还是相对比较严峻的,但是干一行爱一行,还是希望更多人加入 ...

  5. asp.net webapi初探(一)

    本人对webapi尚没有深入研究,初次接触发现了在数据请求时的几点现象. 先切入代码 1.如果action中开头带有Get默认就是get方式,不带Get默认就是post方式 public string ...

  6. asp.net core 初探 二

    今天用@宇内流云大大的jexus 体验一下生产环境的发布,运行. 生产环境: centos 7 jexus 5.8.1 独立版 包含了mono (mono安装真心痛苦……) 开发环境就是昨天的Ubun ...

  7. Asp.net core 初探

    写这篇博客的主要目的是加深自己的印象. 后续每天都会写一些自己的学习心得. Ubuntu :16.04 桌面版 .net core : dotnet-dev-1.0.0-preview2-003121 ...

  8. MVC的验证(模型注解和非侵入式脚本的结合使用) .Net中初探Redis .net通过代码发送邮件 Log4net (Log for .net) 使用GDI技术创建ASP.NET验证码 Razor模板引擎 (RazorEngine) .Net程序员应该掌握的正则表达式

    MVC的验证(模型注解和非侵入式脚本的结合使用)   @HtmlHrlper方式创建的标签,会自动生成一些属性,其中一些属性就是关于验证 如图示例: 模型注解 通过模型注解后,MVC的验证,包括前台客 ...

  9. 初探Asp.net5

    说到Asp.net 5,确实让我有种激动的心情,微软的全力大招在一波一波的发出,也在牵动着每一个程序员的心.作为你们中的一员,在每次看到微软的新技术时,都满怀一种激动的心情,也同时希望微软在开源和跨平 ...

随机推荐

  1. Memcache的客户端连接系列(二) Python

    关键词: Memcached   Python 客户端 声明:本文并非原创,转自华为云帮助中心的分布式缓存服务(Memcached)的用户指南.客户端连接方法通用,故摘抄过来分享给大家. Python ...

  2. Halcon10 下载

    Halcon10 下载地址:http://www.211xun.com/download_page_1.html HALCON 10 是一套机器视觉图像处理库,由一千多个算子以及底层的数据管理核心构成 ...

  3. 3.hadoop完全分布式搭建

    3.Hadoop完全分布式搭建 1.完全分布式搭建 配置 #cd /soft/hadoop/etc/ #mv hadoop local #cp -r local full #ln -s full ha ...

  4. Python中的import语句

    Python中的import语句是导入一个文件,这条语句主要做三件事: 1 通过一定的方式,搜寻要导入的文件: 2 如果需要,就编译这个文件: 3 运行这个文件 但是,需要注意的是,所有这三个步骤,都 ...

  5. c# 两个软件传参

    1.socket 传参,类似于小型的服务器和客户端,一端发送,另一端保持监听状态. 2.通过第三方  数据库或者文件.

  6. Word Ladder Problem (DFS + BFS)

    Given two words (beginWord and endWord), and a dictionary's word list, find the length of shortest t ...

  7. 【数位DP】题集

    1.[HDOJ2089] 题意:求区间内不出现4和62的数的个数 解法:模板题 2.[HDOJ3555] 题意:求区间内不出现49的数的个数 解法:模板题 3.[HDOJ5179] 题意:对于一个十进 ...

  8. 用 C# 实现文件信息统计(wc)命令行程序

    软件的需求分析 程序处理用户需求的模式为: wc.exe [parameter][filename] 在[parameter]中,用户通过输入参数与程序交互,需实现的功能如下: 1.基本功能 支持 - ...

  9. git初始化之git config

    git初始化之git config     1. 下面的命令将修改/home/[username]/.gitconfig文件,也就是说下面的配置只对每一个ssh的用户可见,所以每个人都需要做.   提 ...

  10. 关于c中的一些新函数

    localtime 和 localtime_s: localtime:localtime(const time_t * _Time) time_t t;struct tm *local;time(&a ...