C#或ASP.NET绘图初探

C#或ASP.NET的简单绘图

 1 public void ProcessRequest (HttpContext context) {
 2         context.Response.ContentType = "img/JPEG";
 3         using(System.Drawing.Bitmap bm=new System.Drawing.Bitmap(300,100))//规定大小
 4         {
 5             using(System.Drawing.Graphics g=System.Drawing.Graphics.FromImage(bm))//图像化
 6             {
 7                 g.DrawString("腾讯QQ",new Font("楷体",40),Brushes.Green,new PointF(10,10));
 8                 g.DrawEllipse(Pens.AliceBlue,new Rectangle(200,10,80,80));
 9                 bm.Save(context.Response.OutputStream,System.Drawing.Imaging.ImageFormat.Jpeg);//保存到网页
10             }
11         }
12         

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

先是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

 1 <%@ WebHandler Language="C#" Class="AddCalation" %>
 2
 3 using System;
 4 using System.Web;
 5 using System.Drawing;
 6 public class AddCalation : IHttpHandler,System.Web.SessionState.IRequiresSessionState{
 7
 8     public void ProcessRequest (HttpContext context) {
 9         context.Response.ContentType = "img/JPEG";
10         using(System.Drawing.Bitmap bm=new System.Drawing.Bitmap(150,60))
11         {
12             using(System.Drawing.Graphics g=System.Drawing.Graphics.FromImage(bm))
13             {
14                 Random rand = new Random();
15                 int code = rand.Next();
16                 string testcode=code.ToString().Substring(0,4);
17                 HttpContext.Current.Session["test"] = testcode;
18                 g.DrawString(testcode,new Font("楷体",40),Brushes.Green,new PointF(10,5));
19
20                 bm.Save(context.Response.OutputStream,System.Drawing.Imaging.ImageFormat.Jpeg);
21             }
22         }
23
24
25     }
26
27     public bool IsReusable {
28         get {
29             return false;
30         }
31     }
32
33 }

执行效果如下图

时间: 2024-10-26 03:06:07

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

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

前言 俗话说三天不学习,赶不上刘少奇.Asp.net Core更新这么长时间一直观望,周末帝都小雨,宅在家看了下Core Web App,顺便搭建了个HelloWorld环境来尝尝鲜,第一次看到.Net Web运行在Linux上还是有点小激动(只可惜微软走这一步路走的太晚,要不然屌丝们也不会每每遇见Java VS .Net就想辩论个你死我活). 开发环境和部署环境 Windows 10.VS2015 Update3.安装.Net Core SDK.DotNetCore.1.0.1-VS2015T

ASP.Net MVC初探

1.1概念 MVC是一种软件设计模式,即:Model(模型).View(视图).Controller(控制器)  .其主要设计目标是将用户接口和逻辑层相分离,以便开发人员更好的关注逻辑层的设计和测试,并是整个程序具备清晰的的结构.ASP.Net MVC 框架是MVC设计模式的实现方式之一.ASP.Net MVC 框架有三大组成部分:Model:模型是实现应用程序的数据逻辑的应用程序组件,通常被称为“数据模型”.模型对象会检索模型状态.并将其存储在数据库中.View:视图是显示应用程序用户界面(U

Asp.Net Core 初探 (三)

昨天失败的生产环境部署就先放着,明天再解决! 今天利用中午的空余时间看了一下Asp.net core 的Areas . 相对于Asp.net MVC5 以及之前的版本,asp.net core 的Areas实现起来就要简单的多了,在我们新建的Controller上加上[Areas("XXX")]就可了. 需要注意的是目录结构需要我们自己手动建立,即在解决方案上右键添加文件夹,然后一层一层建立. 最后一点就是路由注册:

Asp.net core 初探

写这篇博客的主要目的是加深自己的印象. 后续每天都会写一些自己的学习心得. Ubuntu :16.04 桌面版 .net core : dotnet-dev-1.0.0-preview2-003121 开发环境的安装方法是按照官网上的教程一步一步来的(https://www.microsoft.com/net/core#ubuntu): 1. 选择对应的操作系统版本,按照上面的命令敲就可以了. 2.安装SDK 输入命令: sudo apt-get install dotnet-dev-1.0.0

asp.net core 初探 二

今天用@宇内流云大大的jexus 体验一下生产环境的发布,运行. 生产环境: centos 7 jexus 5.8.1 独立版 包含了mono (mono安装真心痛苦……) 开发环境就是昨天的Ubuntu +.net core sdk 了. 先发布我们昨天新建的web项目: 输入dotnet publish -o xxxxx/xxx 我这里报了个错NPM 找不到 那就先安装npm  sudo apt-get install npm 安装npm的时候一直提示我:无法获得锁 /var/lib/dpk

Cytoscape绘图初探

Cytoscape是一个做网络图的js插件,用起来很方便,而且很强大.这是它的网站:点击打开链接 使用它需要导入两个文件,一个是js文件,一个是css文件.官网上下载. 这里实现了一个功能,即从后台数据库中检索数据,然后返回到前端,生成网络图. 后台action就不写了,总之返回到前端的是一个struts2的<s:iterator value="userlist" >,首先用div显示出来: <div id="hidden"> <s:i

asp.net webapi初探(一)

本人对webapi尚没有深入研究,初次接触发现了在数据请求时的几点现象. 先切入代码 1.如果action中开头带有Get默认就是get方式,不带Get默认就是post方式 public string GetUsers0(string id) { List<UserProfile> list = UserProfileBiz.GetBatchTest() as List<UserProfile>; //返回json字符串 return JsonConvert.SerializeOb

大家好

http://www.yugaopian.com/people/259723 http://www.yugaopian.com/people/259744 http://www.yugaopian.com/people/259783 http://www.yugaopian.com/people/259824 http://www.yugaopian.com/people/259839 http://www.yugaopian.com/people/259933 http://www.yugao

阿哥吗卡怪每次哦阿哥看啦过啦嘎开吃麻辣个啊蓝光

http://www.xx186.com/web/web_kpic.asp?id=156613http://www.xx186.com/web/web_kpic.asp?id=156608http://www.xx186.com/web/web_kpic.asp?id=156605http://www.xx186.com/web/web_kpic.asp?id=156602http://www.xx186.com/web/web_kpic.asp?id=156600http://www.xx18