生成图片
下面我们来完成后台生成图片的功能,请看下面截图中js功能的代码,首先是获取证书信息表选中行也就是要生成图片的表,获取选中行后判断checkStatus当前是否只选中一条数据,因为一次只能生成一条证书图片所以他的长度只能为1,否则checkStatus的长度大于1就会提示用户“只能选择一条数生成图片”,或者小于1的时候会提示“请选择一条数据”;当checkStatus等于1的时候就可以获取到选中行的证书ID,用window打开一新的页面把生成图片的方法放进window里,再把证书传到控制器。
然后到控制器写他的方法,再传进来一int类型的参数证书Id,然后跟据传进来的证书Id进行查询,查询出页面上需要填的考生姓名、考试时间、成绩、证书编号和证书颁发时间,如下截图:
把页面需要填的数据都查询出来后,首先是获取到一张空白证书的物理地址,后将图片转化为位图再把他封装成一个会画面,然后定义单色的画笔再指定的位置用指定的画笔和字体绘制指定的文本字符串,要绘制的文本内容所用的字体,绘制文本的画刷,绘制的坐标点把查询到的考生姓名、考试时间、成绩、证书编号和证书颁发时间绘制到指定的位置,然后用MemoryStream把图片转化为流的形式,再将图片以jpeg的格式保存到流中,以byte类型输出到页面中就完成了。如下图: