该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我设了下断点 是在
BufferedImage img = new BufferedImage(imageData.getWidth(),
这边的时候出错,请问是什么原因。
public void paint(OutputStream out, Object data) throws IOException {
ImageData imageData = (ImageData) data;
// 生成一个在1000-9999之间的随机数
Random randomNumber = new Random();
String keyCode = randomNumber.nextInt(8999) + 1000 + "";
//把产生的随机数保存到session中
System.out.println(keyCode);
HttpSession session = (HttpSession)FacesContext.getCurrentInstance()
.getExternalContext().getSession(true);
session.setAttribute("keyCode", keyCode);
//生成干扰线的随机数
int outPutLine = 0;
outPutLine = randomNumber.nextInt(100);
BufferedImage img = new BufferedImage(imageData.getWidth(),
imageData.getHeight(), BufferedImage.TYPE_INT_RGB);
Graphics2D g = img.createGraphics();
g.setBackground(imageData.getBackground());
g.setColor(imageData.getDrawColor());
g.setFont(imageData.getTextFont());
//画矩形
g.clearRect(0, 0, imageData.getWidth(), imageData.getHeight());
//画干扰线
g.drawLine(outPutLine, outPutLine, imageData.getWidth()
- outPutLine, imageData.getHeight() - outPutLine);
//画产生的随机数
g.drawString(keyCode, 10, 16);
g.dispose();
ImageIO.write(img, "jpeg", out);
}