public static String exportImg(PiousCard piousCard,HttpServletRequest request){ try { //1.jpg是你的 主图片的路径 String jzz = request.getSession().getServletContext().getRealPath(File.separator) + ReadConfig.getConfigValue("jzz") + File.separator; InputStream is = new FileInputStream(jzz +"jzz.jpg"); //通过JPEG图象流创建JPEG数据流解码器 JPEGImageDecoder jpegDecoder = JPEGCodec.createJPEGDecoder(is); //解码当前JPEG数据流,返回BufferedImage对象 BufferedImage buffImg = jpegDecoder.decodeAsBufferedImage(); //得到画笔对象 Graphics g = buffImg.getGraphics(); //创建你要附加的图象。 //小图片的路径 String uploadDir = request.getSession().getServletContext().getRealPath(File.separator) + ReadConfig.getConfigValue("uploadRoot") + File.separator+ ReadConfig.getConfigValue("barcode") + File.separator; String imgUrl = uploadDir+piousCard.getTwoCode(); ImageIcon imgIcon = new ImageIcon(uploadDir+piousCard.getTwoCode()); //得到Image对象。 Image img = imgIcon.getImage(); //将小图片绘到大图片上。 //5,300 .表示你的小图片在大图片上的位置。 g.drawImage(img,105,405,null); //设置颜色。 g.setColor(Color.BLACK); //最后一个参数用来设置字体的大小 Font f = new Font("宋体",Font.PLAIN,11); Color mycolor = Color.BLACK;//new Color(0, 0, 255); g.setColor(mycolor); g.setFont(f); //10,20 表示这段文字在图片上的位置(x,y) .第一个是你设置的内容。 g.drawString("扫描验证真伪",100,470); Graphics2D tip = buffImg.createGraphics(); tip.setColor(Color.BLACK); //设置字体 Font tipFont = new Font("宋体", Font.PLAIN, 14); tip.setFont(tipFont); //内容,左右位置,上下位置 tip.drawString(piousCard.getPersonName(), 135, 285); tip.drawString(piousCard.getYear(), 160, 323); tip.drawString(piousCard.getCardNum(), 553, 82); SimpleDateFormat bartDateFormat = new SimpleDateFormat("yyyy-MM-dd"); Date date = new Date(); tip.drawString(bartDateFormat.format(piousCard.getIssueDate()), 590, 460); g.dispose(); OutputStream os; // os = new FileOutputStream("d:/union.jpg"); String upJzzUrl = request.getSession().getServletContext().getRealPath(File.separator) + ReadConfig.getConfigValue("uploadRoot") + File.separator; String shareFileName = piousCard.getCardNum()+ ".jpg"; os = new FileOutputStream(upJzzUrl+shareFileName); //创键编码器,用于编码内存中的图象数据。 JPEGImageEncoder en = JPEGCodec.createJPEGEncoder(os); en.encode(buffImg); is.close(); os.close(); return shareFileName; } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ImageFormatException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; }