
jqGrid表格加水印换背景.docx
7页Css:.ui-widget-content { background: none;} //覆盖掉jqGrid自带的背景图片 .alpha1{background-image:url(/servlet/FileImageCreatorServlet);//此处用的是servlet生成的图片,可以自定义显示内容,也可以自己指定图片,那下面的servlet FileImageCreatorServlet.java就不需要添加了,相对对应的Web.xml也不需要配置了width:100%; //宽度要设定,否则ie8,ie7会出现透明度失效filter:alpha(opacity=20); //外层透明度20 }.alpha2{filter:alpha(opacity=100);//表格背景透明度100 }.Jsp://jqGrid 表格渲染 table,xxxx 是 jqGrid 表格的 ID ',Ps:还有关于 jqgrid 表格一下特殊需求的,可以联系笔者,共同学习695004175-----------------------------------如果想自定义图片内容的话,进行以下操作。
Web.xmlWeb.xml 中配置生成 img 的 servletFileImageCreatorServlet com.linkage.bi.powershow.util.FileImageCreatorServletFileImageCreatorServlet/servlet/FileImageCreatorServlet.java添加 servlet FileImageCreatorServlet.java import java.awt.Color; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.Date; import java.util.Properties; import java.util.Random;import javax.imageio.ImageIO; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import com.linkage.bi.portal.bean.StaffSessBean; import com.linkage.bi.util.DateUtil; import com.linkage.bi.util.SessionInfoUtil;public class FileImageCreatorServlet extends HttpServlet {private String fileName; private static Random rnd = new Random(new Date().getTime());// 图片宽度 private int width = 400;// 图片高度 private int height = 200;// 外框颜色 private Color rectColor = new Color(255, 255, 255);// 背景色 private Color bgColor = new Color(255, 255, 255);// 干扰线数目 private int lineNum = 0;// 图片格式 private String formatName = “JPEG“;// 字体颜色 private Color fontColor = new Color(0, 0, 0);// 字体大小 private int fontSize = 15;// 文字旋转的弧度数 private double radian = 0;private double rotateX = 0;private double rotateY = 0;// 缩放 private double scale = 1;public static String CONTEXT_PATH = ““;/*** 随机获取颜色对象*/ private Color getRandomColor(int base, int range) { if ((base + range) > 255) range = 255 - base;int red = base + rnd.nextInt(range); int green = base + rnd.nextInt(range); int blue = base + rnd.nextInt(range);return new Color(red, green, blue); }/*** 画干扰线*/ private void drawRandomLine(Graphics graph) {for (int i = 0; i */ public void destroy() { super.destroy(); // Just puts “destroy“ string in log // Put your code here }/*** The doGet method of the servlet. * * This method is called when a form has its tag value method equals to get.* * @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { process(request, response); }/*** The doPost method of the servlet. * * This method is called when a form has its tag value method equals to* post.* * @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { process(request, response); }protected void process(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);//设置外框颜色 若不设置 则默认白色 if (rectColor == null) { rectColor = new Color(255, 255, 255); }//设置背景颜色 若不设置 则默认黑色 if (bgColor == null) { bgColor = new Color(0, 0, 0); }// 获取画布 Graphics2D g = (Graphics2D)image.getGraphics();// 画长方形 g.setColor(bgColor); g.fillRect(0, 0, width, height);// 外框 g.setColor(rectColor); g.drawRect(0, 0, width - 1, height - 1);// 画干扰线 drawRandomLine(g);String text = getDrawText(request);// 设置个性化属性 this.setWidth(425); // 图片宽度 this.setHeight(200); // 图片高度 this.setFontColor(new Color(213, 106, 0));// this.setLineNum(120); //干扰线条数 可以作为验证码图片 this.setFontSize(20); // 字体大小 this.setBgColor(new Color(255, 255, 255)); // 文字旋转 this.setRadian(10.0); // 旋转弧度 this.setRotateX(this.getWidth() / 5); this.setRotateY(this.getHeight() * 5 / 10);// 画字符串 draw(this, g, text);// 执行 g.dispose();// 输出图片结果 以文件流的方式输入 若想写入文件目录 第三个参数为文件目录路径 ImageIO.write(image, getFormatName(), response.getOutputStream()); }public String getDrawText(HttpServletRequest request) {//根据 session 信息获得 当前登录员工的名称与工号信息 StaffSessBean staffSessBean = SessionInfoUtil.getStaffSessBean(request.getSession());String staffId = staffSessBean.getStaffId();//当前登录员工 ID String phoneNum = staffSessBean.getMobilePhone(); //当前登录员工号码 String now = DateUtil.getInstance().getToday(“yyyy-MM-dd HH:mm:ss“); //获得当前访问时间 StringBuf。












