a735547301
柠檬糖大人你尽然盗号
采纳率100%
2017-09-12 01:32

网易云盾,滑动验证码抠图如何做成来

5
  • 滑动验证码

图片说明
以下这个滑动验证码的抠图特别是四周的圆是怎么扣出来的啊,求demo
图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

6条回答

  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 4年前
    点赞 1 评论 复制链接分享
  • SecondLieutenant CWS_chen 4年前

    这个我虽然,没做过,但是,我感觉它的原理,应该是:
    1、js 拖拽 事件。让需拼合图片和下边拖动图片,动作一致,可以左右拖动
    2、判断需拼合图片的目标 offsetLeft 值,如果拖拽到指定值,立即执行验证成功的函数方法,进行页面模块切换、或是跳转。

    大致应该是这样,我是做前端的,哪里写错了,希望大家指正

    点赞 1 评论 复制链接分享
  • a735547301 柠檬糖大人你尽然盗号 4年前
    点赞 评论 复制链接分享
  • a735547301 柠檬糖大人你尽然盗号 4年前

    图片说明模板
    图片说明 截取的图
    图片说明扫描模板得的抠图

    点赞 评论 复制链接分享
  • Small_Mouse0 鼠小 4年前

    题主的id很熟悉啊,,上次回答过题主一个问题,,那个是抠不规则图形,,,

    不知道题主明白原理了没,,不规则都能抠,,这个规则的很难?

    周围是圆形对,,圆形是连续的,把它放大到像素级别,还是有棱棱角的

    根据这个给则用程序生成一个,,那种形状,,圆形的话,也很好生成,,下面给个生成圆形矩阵的例子:

     private int[][] getCircle(int i) {
            // TODO Auto-generated method stub
            int Circle[][];
            Circle = new int[i][i];
    
            for (int j = 0; j < Circle.length; j++) {
                for (int j2 = 0; j2 < Circle[0].length; j2++) {
                    if (Math.abs((i/2-j)*(i/2-j)+(i/2-j2)*(i/2-j2)) <= (i/2)*(i/2)) {
                        Circle[j][j2] = 0;
                    }
                    else Circle[j][j2] = 1;
                }
            }
            return Circle;
        }
    
    点赞 评论 复制链接分享
  • SecondLieutenant CWS_chen 4年前

    肯定是要 ps 弄出来 ,成png 透明格式图片的。这个你大可不必担心,因为,如果真正这个项目模块,会有专业UI,给你弄好图片的。

    点赞 评论 复制链接分享