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;
// 创建画布
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;