我有生成简历图片的, 不知道你该该可以用不 using 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.HtmlControls; using System.Drawing; using System.Drawing.Imaging; using System.IO;namespace YingWeb { /// <summary> /// Text 的摘要说明。 /// </summary> public class Text : System.Web.UI.Page { private void Page_Load(object sender, System.EventArgs e) { // 在此处放置用户代码以初始化页面 if (!IsPostBack) { gethua(); } } #region Web 窗体设计器生成的代码 override protected void OnInit(EventArgs e) { // // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); }
/// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.Load += new System.EventHandler(this.Page_Load); } #endregion 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)); string dizhi = ""; int j = 320; //初始坐标 for (int z = 0; z < 61; z += 23) //循环次数 { int k = z + 20; // 第一次为0时 if (k > dizhi.Length) //k是否大于总字数 { k = dizhi.Length - k; // 若大于比如k=45 dizhi.length=40 k=40-45 k=-5 int i = k + 20; //i = -5+20 这样就不至于截取超出范围 g.DrawString(dizhi.Substring(z, i), fn, Brushes.Black, new PointF(14, j += 18)); break; } g.DrawString(dizhi.Substring(z, 23), fn, Brushes.Black, new PointF(14, j += 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); 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.Black), 10, 10, 331, 382); //填充图像 System.Drawing.Image newimage = System.Drawing.Image.FromFile(Server.MapPath("123.jpg")); //图像定位 g.DrawImage(newimage, 245, 77, 95, 117); //释放图像缓存 g.Dispose(); //定义产生图片格式 //Response.ContentType = "image/Jpeg"; //bt.Save(Response.OutputStream, ImageFormat.Jpeg); //图片自动保存路径 string dirpath = @"E:\Exam\client\Admin_exam\zkz_image\"; if (!Directory.Exists(dirpath)) { Directory.CreateDirectory(dirpath); } //bt.Save(Server.MapPath(dirpath + Session.SessionID + ".jpg"), ImageFormat.Jpeg); string lujing = @"E:\Exam\456.jpg"; bt.Save(lujing, ImageFormat.Jpeg); //释放位图缓存 bt.Dispose(); } } }
using 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.HtmlControls;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;namespace YingWeb
{
/// <summary>
/// Text 的摘要说明。
/// </summary>
public class Text : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if (!IsPostBack)
{
gethua();
}
} #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion 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));
string dizhi = "";
int j = 320; //初始坐标
for (int z = 0; z < 61; z += 23) //循环次数
{
int k = z + 20; // 第一次为0时
if (k > dizhi.Length) //k是否大于总字数
{
k = dizhi.Length - k; // 若大于比如k=45 dizhi.length=40 k=40-45 k=-5
int i = k + 20; //i = -5+20 这样就不至于截取超出范围
g.DrawString(dizhi.Substring(z, i), fn, Brushes.Black, new PointF(14, j += 18));
break;
}
g.DrawString(dizhi.Substring(z, 23), fn, Brushes.Black, new PointF(14, j += 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);
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.Black), 10, 10, 331, 382);
//填充图像
System.Drawing.Image newimage = System.Drawing.Image.FromFile(Server.MapPath("123.jpg"));
//图像定位
g.DrawImage(newimage, 245, 77, 95, 117);
//释放图像缓存
g.Dispose();
//定义产生图片格式
//Response.ContentType = "image/Jpeg";
//bt.Save(Response.OutputStream, ImageFormat.Jpeg);
//图片自动保存路径
string dirpath = @"E:\Exam\client\Admin_exam\zkz_image\";
if (!Directory.Exists(dirpath))
{
Directory.CreateDirectory(dirpath);
}
//bt.Save(Server.MapPath(dirpath + Session.SessionID + ".jpg"), ImageFormat.Jpeg);
string lujing = @"E:\Exam\456.jpg";
bt.Save(lujing, ImageFormat.Jpeg);
//释放位图缓存
bt.Dispose();
}
}
}