将字符串写入到图片中.
1 换行采用指定写入位置来实现
2 务必释放资源,否则会出现Win32Error
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//前一页面传递过来的参数
string email = Request.QueryString.Get("email");
string realName = new OLUserService.OLUserService().GetRealNameByEmail(email);
string workid = new OLUserService.OLUserService().GetWorkIdByEmail(email);
//image1图片控件-呈现写入字符串后的图片
string fileName = this.image1.ImageUrl;
int index = fileName.LastIndexOf(".");
string newFileName = fileName.Substring(0, index) + "_" + realName + fileName.Substring(index);
FileInfo fileInfo = new FileInfo(Server.MapPath(fileName));
fileInfo.CopyTo(Server.MapPath(newFileName), true);
System.Drawing.Image image = new Bitmap(Server.MapPath(newFileName));
Graphics g = Graphics.FromImage(image);
string s2 = string.Format("通过了关于《集团商业行为准则》的{0}", DateTime.Now.ToString("yyyy"));
string s3 = "年度认证,特此证明。";
Font drawFont = new Font("Arial", 12);
SolidBrush drawBrush = new SolidBrush(Color.Black);
//通过指定写入位置实现换行功能
drawPoint = new PointF(50, 200);
g.DrawString(s2, drawFont, drawBrush, drawPoint);
drawPoint = new PointF(50, 230);
g.DrawString(s3, drawFont, drawBrush, drawPoint);
System.Drawing.Image img = new Bitmap(image);
//此处尤为重要,使用资源后的释放.否则会出现Win32错误
//[ExternalException (0x80004005): A generic error occurred in GDI+.]
g.Dispose();
image.Dispose();
img.Save(Server.MapPath(newFileName), System.Drawing.Imaging.ImageFormat.Jpeg);
this.image1.ImageUrl = newFileName;
}
}
{
if (!IsPostBack)
{
//前一页面传递过来的参数
string email = Request.QueryString.Get("email");
string realName = new OLUserService.OLUserService().GetRealNameByEmail(email);
string workid = new OLUserService.OLUserService().GetWorkIdByEmail(email);
//image1图片控件-呈现写入字符串后的图片
string fileName = this.image1.ImageUrl;
int index = fileName.LastIndexOf(".");
string newFileName = fileName.Substring(0, index) + "_" + realName + fileName.Substring(index);
FileInfo fileInfo = new FileInfo(Server.MapPath(fileName));
fileInfo.CopyTo(Server.MapPath(newFileName), true);
System.Drawing.Image image = new Bitmap(Server.MapPath(newFileName));
Graphics g = Graphics.FromImage(image);
string s2 = string.Format("通过了关于《集团商业行为准则》的{0}", DateTime.Now.ToString("yyyy"));
string s3 = "年度认证,特此证明。";
Font drawFont = new Font("Arial", 12);
SolidBrush drawBrush = new SolidBrush(Color.Black);
//通过指定写入位置实现换行功能
drawPoint = new PointF(50, 200);
g.DrawString(s2, drawFont, drawBrush, drawPoint);
drawPoint = new PointF(50, 230);
g.DrawString(s3, drawFont, drawBrush, drawPoint);
System.Drawing.Image img = new Bitmap(image);
//此处尤为重要,使用资源后的释放.否则会出现Win32错误
//[ExternalException (0x80004005): A generic error occurred in GDI+.]
g.Dispose();
image.Dispose();
img.Save(Server.MapPath(newFileName), System.Drawing.Imaging.ImageFormat.Jpeg);
this.image1.ImageUrl = newFileName;
}
}