程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> GDI+生成准考證

GDI+生成准考證

編輯:關於ASP.NET

            Random random = new Random();
            //創建畫布
            Bitmap bt = new Bitmap(353, 404, 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.LightBlue);
            //填文字
            g.DrawString("中國電子學會電子設計工程師認證考試", fn1, Brushes.Black, 

new PointF(46, 20));
            g.DrawString("准 考 證", fn1, Brushes.Black, new PointF(140, 50));
            g.DrawString("准考證號", fn, Brushes.Black, new PointF(14, 85));
            g.DrawString("EDP200903060001", 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("411024198806021230", fn, Brushes.Black, new PointF(90, 

175));
            g.DrawString("考試級別", fn, Brushes.Black, new PointF(14, 205));
            g.DrawString("電子設計助理工程師", 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(220, 235));
            g.DrawString("考試時間", fn, Brushes.Black, new PointF(14, 265));
            g.DrawString("09-05-25 PM 8:00", fn, Brushes.Black, new PointF(90, 

265));
            g.DrawString("09-05-25 PM 8:00", fn, Brushes.Black, new PointF(220, 

265));
            g.DrawString("學校名稱", fn, Brushes.Black, new PointF(14, 295));
            g.DrawString("北京工業大學", fn, Brushes.Black, new PointF(90, 295));
            g.DrawString("北京師范大學", fn, Brushes.Black, new PointF(220, 295));
            g.DrawString("考場編號", fn, Brushes.Black, new PointF(14, 323));
            g.DrawString("第一考場", fn, Brushes.Black, new PointF(90, 323));
            g.DrawString("第九考場", fn, Brushes.Black, new PointF(220, 323));
            g.DrawString("詳細地址", fn, Brushes.Black, new PointF(14, 353));
            string dizhi = "北京市北京工業大學地址北京工業";
            int j = 335;    //初始坐標
            int j2 = 335;    //初始坐標
            for (int z = 0; z < 17; z += 8)  //循環次數
            {
                int k = z + 10;  // 第一次為0時
                if (k > dizhi.Length)  //k是否大於總字數
                {
                    k = dizhi.Length - k;  // 若大於比如k=45  dizhi.length=40  k=40-45    

k=-5
                    int i = k + 10;      //i = -5+20  這樣就不至於截取超出范圍
                    g.DrawString(dizhi.Substring(z, i), fn, Brushes.Black, new PointF(90, j 

+= 18));
                    break;
                }
                g.DrawString(dizhi.Substring(z, 8), fn, Brushes.Black, new PointF(90, j += 

18));
            }
            string dizhi2 = "北京市北京師范大學地址北京師范";
            for (int z2 = 0; z2 < 17; z2 += 8)  //循環次數
            {
                int k2 = z2 + 10;  // 第一次為0時
                if (k2 > dizhi2.Length)  //k是否大於總字數
                {
                    k2 = dizhi2.Length - k2;  // 若大於比如k=45  dizhi.length=40  k=40-45   

k=-5
                    int i2 = k2 + 10;      //i = -5+20  這樣就不至於截取超出范圍
                    g.DrawString(dizhi2.Substring(z2, i2), fn, Brushes.Black, new PointF

(220, j2 += 18));
                    break;
                }
                g.DrawString(dizhi2.Substring(z2, 8), fn, Brushes.Black, new PointF(220, j2 

+= 18));
            }
            //產生雜點
            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);      //1
            g.DrawLine(new Pen(Color.Black), 10, 105, 243, 105);    //2
            g.DrawLine(new Pen(Color.Black), 10, 135, 243, 135);    //3
            g.DrawLine(new Pen(Color.Black), 10, 165, 243, 165);    //4
            g.DrawLine(new Pen(Color.Black), 10, 195, 341, 195);    //5
            g.DrawLine(new Pen(Color.Black), 10, 197, 341, 197);    //5
            g.DrawLine(new Pen(Color.Black), 10, 225, 341, 225);    //6
            g.DrawLine(new Pen(Color.Black), 10, 255, 341, 255);    //7
            g.DrawLine(new Pen(Color.Black), 10, 285, 341, 285);    //8
            g.DrawLine(new Pen(Color.Black), 10, 315, 341, 315);    //9
            g.DrawLine(new Pen(Color.Black), 10, 345, 341, 345);    //10
            //畫豎線
            g.DrawLine(new Pen(Color.Black), 80, 75, 80, 392);      //11
            g.DrawLine(new Pen(Color.Black), 82, 75, 82, 392);      //12
            g.DrawLine(new Pen(Color.Black), 210, 225, 210, 392);   //13
            g.DrawLine(new Pen(Color.Black), 243, 75, 243, 195);    //14
            //畫方框
            g.DrawRectangle(new Pen(Color.Black), 10, 10, 331, 382);
            g.DrawRectangle(new Pen(Color.Black), 7, 7, 338, 388);
            //填充圖像
            System.Drawing.Image newimage = System.Drawing.Image.FromFile(Server.MapPath

(@"~\image\308329547.gif"));
            //圖像定位
            g.DrawImage(newimage, 248, 80, 89, 111);
            //釋放圖像緩存
            g.Dispose();
            //定義產生圖片格式
            Response.ContentType = "image/Jpeg";
            bt.Save(Response.OutputStream, ImageFormat.Jpeg);
            //創建文件夾
            string WenJanpath = Server.MapPath(@"~\zkz_image");
            if (!Directory.Exists(WenJanpath))
            {
                Directory.CreateDirectory(WenJanpath);
            }
            //圖片自動保存路徑
            bt.Save(Server.MapPath(@"~\zkz_image\杜潤龍的准考證" + 

DateTime.Now.ToString("yyyy-MM-dd") + ".jpg"), ImageFormat.Jpeg);
            //釋放位圖緩存
            bt.Dispose();
            string lujing = Server.MapPath(@"~\zkz_image\杜潤龍的准考證" + 

DateTime.Now.ToString("yyyy-MM-dd") + ".jpg");
            Image1.ImageUrl = lujing; 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved