标题:C#写的报名系统中动态生成准考证,全代码生成,希望大家能用的着
只看楼主
雪雨星风
Rank: 1
来 自:北京
等 级:新手上路
威 望:1
帖 子:566
专家分:0
注 册:2007-10-11
结帖率:100%
 问题点数:0 回复次数:0 
C#写的报名系统中动态生成准考证,全代码生成,希望大家能用的着
最近在做一个考试系统,遇到一点小问题:考生填完个人信息交完考费需要拿着准考证去考试,为了让考生拿到准考证的过程更为傻瓜话,也防止考生再次修改信息,直接把所填信息生成为一张固定大小的jpg图片,再给图片加写杂点和曲线,这样安全和方便基本上就能顾到了,所以我就用c#画了这样一个准考证样板,希望大家能用的着,不足之处多多提出。
    效果图
[url=http://sz.photo.store.][/url]   代码如下
sing System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Drawing;
using System.Drawing.Imaging;
using
public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            gethua();            
        }
    }
    protected void gethua()
    {
        Random random = new Random();
        Bitmap bt = new Bitmap(351, 402, PixelFormat.Format24bppRgb);
        Graphics g = Graphics.FromImage(bt);
        Font fn1 = new Font("Tahoma", 10, FontStyle.Bold);         
        Font fn = new Font("Tahoma", 9, FontStyle.Bold);     
        g.Clear(Color.Honeydew);
        g.DrawString("中国电子学会电子设计初级工程师认证考试名", fn1, Brushes.Black, new PointF(20, 20));
        g.DrawString("准 考 证", fn1, Brushes.Black, new PointF(140, 50));
        g.DrawString("准考证号", fn, Brushes.Black, new PointF(14, 85));
        g.DrawString("CIE09101080004", fn, Brushes.Black, new PointF(90, 85));
        g.DrawString("考生姓名", fn, Brushes.Black, new PointF(14, 115));
        g.DrawString("李晓杰", fn, Brushes.Black, new PointF(90, 115));
        g.DrawString("考生性别", fn, Brushes.Black, new PointF(14, 145));
        g.DrawString("男", fn, Brushes.Black, new PointF(90, 145));
        g.DrawString("身份证号", fn, Brushes.Black, new PointF(14, 175));
        g.DrawString("410381198408272032", fn, Brushes.Black, new PointF(90, 175));
        g.DrawString("考试时间", fn, Brushes.Black, new PointF(14, 205));
        g.DrawString("2007年11月30号", fn, Brushes.Black, new PointF(90, 205));
        g.DrawString("考试科目", fn, Brushes.Black, new PointF(14, 235));
        g.DrawString("电子设计", fn, Brushes.Black, new PointF(90, 235));
        g.DrawString("考点名称", fn, Brushes.Black, new PointF(14, 265));
        g.DrawString("电子设计工程师证书", fn, Brushes.Black, new PointF(90, 265));
        g.DrawString("考场编号", fn, Brushes.Black, new PointF(14, 295));
        g.DrawString("9101080004", fn, Brushes.Black, new PointF(90, 295));
        g.DrawString("机位编号", fn, Brushes.Black, new PointF(196, 295));
        g.DrawString("080004", fn, Brushes.Black, new PointF(275, 295));
        g.DrawString("交通指南(由各考点提供)", fn, Brushes.Black, new PointF(14, 325));
        g.DrawString("在北京站可直接换乘环线地铁,在东四十条下车。", fn, Brushes.Black, new PointF(30, 340));      
        for (int i = 0; i < 500; i++)
        {
            int x1 = random.Next(bt.Width-20);            
            int y1 = random.Next(bt.Height-20);                                 
            bt.SetPixel(x1, y1, Color.FromArgb(random.Next()));            
        }
        for (int i = 0; i < 50; i++)
        {
            int x1 = random.Next(bt.Width-20);            
            int y1 = random.Next(bt.Height-20);
            int x2 = random.Next(1,30);            
            int y2 = random.Next(1,20);
            int x3 = random.Next(15,45);            
            int y3 = random.Next(70,270);
            g.DrawArc(new Pen(Color.FromArgb(random.Next())), x1, y1, x2, y2, x3, y3);
        }
        g.DrawLine(new Pen(Color.Black), 10, 75, 341, 75);
        g.DrawLine(new Pen(Color.Black), 10, 105, 243, 105);
        g.DrawLine(new Pen(Color.Black), 10, 135, 243, 135);
        g.DrawLine(new Pen(Color.Black), 10, 165, 243, 165);
        g.DrawLine(new Pen(Color.Black), 10, 195, 341, 195);
        g.DrawLine(new Pen(Color.Black), 10, 225, 341, 225);
        g.DrawLine(new Pen(Color.Black), 10, 255, 341, 255);
        g.DrawLine(new Pen(Color.Black), 10, 285, 341, 285);
        g.DrawLine(new Pen(Color.Black), 10, 315, 341, 315);
        g.DrawLine(new Pen(Color.Black), 80, 75, 80, 314);
        g.DrawLine(new Pen(Color.Black), 185, 285, 185, 314);
        g.DrawLine(new Pen(Color.Black), 265, 285, 265, 314);
        g.DrawLine(new Pen(Color.Black), 243, 75, 243, 195);
        g.DrawRectangle(new Pen(Color.CornflowerBlue), 10, 10, 331, 382);
        System.Drawing.Image newimage = System.Drawing.Image.FromFile("E:/练习/baoming/image/123.jpg");
        g.DrawImage(newimage, 245, 77, 95, 117);
        Response.ContentType = "image/Jpeg";
        bt.Save(Response.OutputStream, ImageFormat.Jpeg);        
    }   
}
搜索更多相关主题的帖子: 准考证 
2008-08-06 10:20



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-227001-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.331730 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved