Android栗子の图片验证码生成实例代码

  

废话不多说了、下面一段代码给大家分享android生成栗子图片验证码功能,具体代码如下所示,

        进口java.util.Random;   进口android.graphics.Bitmap;   进口android.graphics.Bitmap.Config;   进口android.graphics.Canvas;   进口android.graphics.Color;   进口android.graphics.Paint;   公开课Autjcode {   私有静态Autjcode bmpCode;   私人int宽度=100,高度=60;   私人int base_padding_left=15, range_padding_left=5,   range_padding_top base_padding_top=25日=30;   私人int codeLength=4, line_number=2, font_size=25;   私人字符串代码;   私人int padding_left padding_top;   私有静态最终char[]是={' 2 ',' 3 ',' 4 ',' 5 ',' 6 ',' 7 ',' 8 ',   ' 9 ',' ',' b ', ' c ', ' d ',‘e’,‘f’,‘g’,‘h’,“j”,“k”、“l”、“米”,   ‘n’,‘p’,‘问’,‘r’,‘s’,‘t’,‘你’,‘v’,‘w’,‘x’, ' y ', ' z ', ' ',   ' B ', ' C ', ' D ',‘E’,‘F’,‘G’,‘H’,‘我’,‘J’,‘K’,‘L’,‘米’,‘N’,   ‘P’,‘问’,‘R’,‘S’,‘T’,‘你’,‘V’,‘W’,‘X’, ' Y ', ' Z '};/* *   *获得实例   *   * @return   */公共静态Autjcode getInstance () {   如果(bmpCode==null)   bmpCode=new Autjcode ();   返回bmpCode;   }   私人随机随机=new随机();/* *   *创建位图   *   * @return   */公共位图createBitmap () {   padding_left=0;//ARGB_8888表示为32位的ARGB位图   位图bp=位图。createBitmap(宽度、高度、Config.ARGB_8888);   帆布c=新画布(bp);   代码=createCode ();   c.drawColor (Color.WHITE);   涂漆=new ();   paint.setTextSize (font_size);   paint.setFakeBoldText(真正的);   for (int i=0;我& lt;code.length ();我+ +){   randomTextStyle(油漆);   randomPadding ();   c.drawText (code.charAt (i) + ", padding_left, padding_top,油漆);   }   for (int i=0;我& lt;=line_number;我+ +){   画直线(c、油漆);   }   c.save (Canvas.ALL_SAVE_FLAG);//保存   c.restore ();   返回英国石油(bp);   }   公共字符串getCode () {   返回码;   }//验证码   私人字符串createCode () {   StringBuilder缓冲=new StringBuilder ();   for (int i=0;我& lt;codeLength;我+ +){   buffer.append(字符[random.nextInt (CHARS.length)]);   }   返回buffer.toString ();   }/* *   *划线   *   * @param帆布   * @param油漆   */私人空间画直线(帆布画布,油漆涂料){   int颜色=randomColor ();   int startX=random.nextInt(宽度);   int startY=random.nextInt(高度);   int stopX=random.nextInt(宽度);   int stopY=random.nextInt(高度);   paint.setStrokeWidth (1);   paint.setColor(颜色);   画布。画直线(startX startY、stopX stopY,油漆);   }   私人int randomColor () {   返回randomColor (1);   }   私人int randomColor (int) {   int红色=random.nextInt(256)/率;   int绿色=random.nextInt(256)/率;   int蓝色=random.nextInt(256)/率;   返回的颜色。rgb(红、绿、蓝);   }   私人空间randomTextStyle(油漆涂料){   int颜色=randomColor ();   paint.setColor(颜色);   paint.setFakeBoldText (random.nextBoolean ());   浮动skewX=random.nextInt (11)/10;   skewX=random.nextBoolean () & # 63;skewX: -skewX;   paint.setTextSkewX (skewX);   }   私人空间randomPadding () {   padding_left +=base_padding_left + random.nextInt (range_padding_left);   padding_top=base_padding_top + random.nextInt (range_padding_top);   }   }      

使用方法:

  

初始化:

        registerAuthimg=(ImageView) findViewById (R.id.registerAuthimg);   .createBitmap registerAuthimg.setImageBitmap (Autjcode.getInstance () ());      

验证码刷新:

        .createBitmap registerAuthimg.setImageBitmap (Autjcode.getInstance () ());      

获取当前显示的文字验证码:

        .toUpperCase .getCode字符串Autecodeimg=Autjcode.getInstance () () ();      

  

以上所述是小编给大家介绍的Android栗子の图片验证码生成实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留的言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

Android栗子の图片验证码生成实例代码