如题

解决方案 »

  1.   

    http://www.51aspx.com/S/%E5%90%8D%E7%89%87.html
      

  2.   

    我有生成简历图片的, 不知道你该该可以用不
    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();   
    }   
    }
    }