zoukankan      html  css  js  c++  java
  • 生成本地难码图片并在本地记录图片上的数字以作比较


    1.用法

    Bitmap valimg = new CreateValiImage(this).onDraw();




    public class CreateValiImage {
    private Paint paint;
    private Canvas canvas;
    private float width;
    private float height;
    private int retate = 6;
    private SharedUtils sharedUtils;

    private Context context;


    public CreateValiImage(Context context) {
    this.context = context;
    sharedUtils = new SharedUtils(context);
    paint = new Paint();
    width = context.getResources().getDimension(R.dimen.register_img_100);
    height = context.getResources().getDimension(R.dimen.frame_title);


    }


    public Bitmap onDraw() {
    Bitmap bitmap = Bitmap.createBitmap((int) width, (int) height, Bitmap.Config.ARGB_8888);
    canvas = new Canvas(bitmap);
    //画背景
    paint.setColor(Color.GRAY);
    RectF rectF = new RectF(0, 0, width, height);
    canvas.drawRect(rectF, paint);
    //画干扰线
    paint.setStrokeWidth(2);
    for (int i = 0; i < 7; i++) {
    paint.setColor(Color.rgb(getValiNum(0, 255), getValiNum(0, 255), getValiNum(0, 255)));
    canvas.drawLine(getValiNum(0, (int) width), getValiNum(0, (int) height), getValiNum(0, (int) width), getValiNum(0, (int) height), paint);
    }

    //画文字
    paint.setTextSize(60);
    paint.setStrokeWidth(1);
    StringBuffer stringBuffer = new StringBuffer();
    for (int i = 0; i < 4; i++) {
    paint.setColor(Color.rgb(getValiNum(0, 255), getValiNum(0, 255), getValiNum(0, 255)));
    canvas.rotate(getValiNum(0, retate), 0f, 0f);
    int item = getValiNum(0, 9);
    stringBuffer.append(item);
    canvas.drawText(item + "", 20 + (60 * i), 70, paint);
    canvas.rotate(-1 * getValiNum(0, retate), 0f, 0f);
    }
    sharedUtils.setValiNum(stringBuffer.toString());

    return bitmap;
    }

    public int getValiNum(int begin, int end) {
    Random random = new Random();
    return random.nextInt(end - begin) + begin;
    }


    }
  • 相关阅读:
    【LeetCode】048. Rotate Image
    【LeetCode】036. Valid Sudoku
    【LeetCode】060. Permutation Sequence
    【LeetCode】001. Two Sum
    【LeetCode】128. Longest Consecutive Sequence
    【LeetCode】081. Search in Rotated Sorted Array II
    【LeetCode】033. Search in Rotated Sorted Array
    顺时针打印矩阵
    矩形覆盖
    二维数组中的查找
  • 原文地址:https://www.cnblogs.com/zhou2016/p/5316394.html
Copyright © 2011-2022 走看看