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;