// // ,
// private char mapTable[]={
// 'a','b','c','d','e','h',
// 'A','B','C','D','E','F',
// 'j','k','m','n','p','q',
// 'J','K','M','N','P','Q',
// 'r','s','t','u','v','w',
// 'R','S','T','U','V','W',
// 'x','y','z','X','Y','Z',
// '2','3','4','5','6','7',
// '8','9'
// };
//
// public String getCertPic(int width, int height,OutputStream os) {
// if(width<=0) {
// width=60;
// }
// if(height<=0) {
// height=20;
// }
//
// BufferedImage image = new BufferedImage(width, height,BufferedImage.TYPE_INT_RGB);
// //
// Graphics g = image.getGraphics();
// //
// g.setColor(new Color(0xDCDCDC));
// g.fillRect(0, 0, width, height);
// //
// g.setColor(Color.black);
// g.drawRect(0, 0, width-1, height-1);
// //
// String strEnsure="";
// //4 4 , ,
//
// for(int i=0; i<4; i++) {
// strEnsure += mapTable[(int)(mapTable.length*Math.random())];
// }
// // , , drawString
// g.setColor(Color.black);
// g.setFont(new Font("Atlantic Inline", Font.PLAIN,18));
// String str = strEnsure.substring(0, 1);
// g.drawString(str, 8, 17);
// str = strEnsure.substring(1, 2);
// g.drawString(str, 20, 15);
// str = strEnsure.substring(2, 3);
// g.drawString(str, 35, 18);
// str = strEnsure.substring(3, 4);
// g.drawString(str, 45, 15);
// // 10
//
// Random random = new Random();
// for(int i=0; i<10; i++ ) {
// int x = random.nextInt(width);
// int y = random.nextInt(height);
// g.drawOval(x, y, 1, 1);
// }
// //
// g.dispose();
Color getRandColor(int fc, int bc){//
Random random = new Random();
if(fc>255) fc=255;
if(bc>255) bc=255;
int r=fc+random.nextInt(bc-fc);
int g=fc+random.nextInt(bc-fc);
int b=fc+random.nextInt(bc-fc);
return new Color(r,g,b);
}
public String getCertPic(OutputStream os) {
//
int width = 60, height = 20;
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
//
Graphics g = image.getGraphics();
//
Random random = new Random();
//
g.setColor(this.getRandColor(200,250));
g.fillRect(0, 0, width, height);
//
g.setFont(new Font("Times New Roman",Font.PLAIN,18));
//
//g.setColor(new Color());
//g.drawRect(0,0,width-1,height-1);
// 155 ,
g.setColor(getRandColor(160,200));
for (int i=0;i<155;i++)
{
int x = random.nextInt(width);
int y = random.nextInt(height);
int xl = random.nextInt(12);
int yl = random.nextInt(12);
g.drawLine(x,y,x+xl,y+yl);
}
// (4 )
String sRand="";
for (int i=0;i<4;i++){
String rand=String.valueOf(random.nextInt(10));
sRand+=rand;
//
g.setColor(new Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110)));// , ,
g.drawString(rand,13*i+6,16);
}
//
g.dispose();
try{
//
ImageIO.write(image, "JPEG", os);
}catch(IOException e) {
return "";
}
return sRand;
}
/**
*
public String getCertPic() {
Color getRandColor(int fc, int bc){//
Random random = new Random();
if(fc>255) fc=255;
if(bc>255) bc=255;
int r=fc+random.nextInt(bc-fc);
int g=fc+random.nextInt(bc-fc);
int b=fc+random.nextInt(bc-fc);
return new Color(r,g,b);
}
//
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);
//
int width=60, height=20;
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
//
Graphics g = image.getGraphics();
//
Random random = new Random();
//
g.setColor(getRandColor(200,250));
g.fillRect(0, 0, width, height);
//
g.setFont(new Font("Times New Roman",Font.PLAIN,18));
//
//g.setColor(new Color());
//g.drawRect(0,0,width-1,height-1);
// 155 ,
g.setColor(getRandColor(160,200));
for (int i=0;i<155;i++)
{
int x = random.nextInt(width);
int y = random.nextInt(height);
int xl = random.nextInt(12);
int yl = random.nextInt(12);
g.drawLine(x,y,x+xl,y+yl);
}
// (4 )
String sRand="";
for (int i=0;i<4;i++){
String rand=String.valueOf(random.nextInt(10));
sRand+=rand;
//
g.setColor(new Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110)));// , ,
g.drawString(rand,13*i+6,16);
}
// SESSION
session.setAttribute("rand",sRand);
//
g.dispose();
//
ImageIO.write(image, "JPEG", response.getOutputStream());
}
*/