美文网首页程序媛基地Web前端之路@IT·互联网
两分钟去支付宝AR黑线(手把手教你)

两分钟去支付宝AR黑线(手把手教你)

作者: 会会会会 | 来源:发表于2016-12-27 15:02 被阅读13193次

    最近比较火的支付宝AR实景红包,感觉大玩起来还不错,就是有点耗电。

    当然,我也是绞尽乳汁去想怎么搞个黑科技,把黑线给去掉,骗过支付宝粑粑,领取红包。经过半天的事件,终于有了初步成果,现在就分享给大家吧!

    主流去黑线算法——等分互补法

    各种百度一番,发现现在主流的去黑线的方法就是,等分互补法(这是我寄几总结的)

    来看看最简单的ps方法吧:PS处理方法:PS打开图片,Ctrl+J新建图层,设置新图层透明度50%,上下挪动去除黑线。

    图一

    大概思想就是如图一,用①和②错位互补去黑线,好了来看看最后结果图吧

    两分钟去支付宝AR黑线(手把手教你)

    问题来了

    这个方法对等距离黑线来说还是很有用的,但是这种效果看起来却不是很好,是因为黑线不等距,而且①只是透明度50%,也就是说还有50%的黑线是在上面的,所以现在我们要解决的问题又两点:

    1.解决黑线不等分;

    2.扣掉黑线(不是统一设成50%的透明度)


    前端技术去黑线

    因为妹子是码砖的,对ps技术还不是熟练,打算用前端技术来实现在线去黑线(html+css+js)就这么简单粗暴的方法,然后挂在服务器上面,就可以实现一个在线去黑线的web网页,是不是听起来就很酷炫,let's start it!

    核心算法

    我自己的核心算法当然是基于上面的等分互补法,用前端技术来搞的;

    第一步

    背景图:当然是原图,没有任何透明度的支付宝红包原截屏图

    作用:当然是用来被遮黑线的图;

    第二步

    条形等距缝隙条组:我这里是将需要去条纹的正方形区域高度等分成60份,分成3组;一组:3的倍数;二组:3余一;三组:三余二;

    作用:通过调整每组的相对原图的上下位置达到去黑线效果;

    第三步

    都在第二步里面说了,当然是移动每组的相对高度;

    前端代码实现

    我这里总共所有的代码都只有一两百行代码,主要用的是CSS的“background-image”属性,想必懂前端的都不会陌生吧,我这里主要用的background-position来取每个条形的位置,高度当然是总高度的1/60,宽度就是原宽度,好吧,我们来看代码吧

    css

    css样式很简单,就一个背景图,条纹在上面局对定位;

    两分钟去支付宝AR黑线(手把手教你)

    html

    html代码也很简单,一个原图,几个按钮,条纹是通过js添加上去的

    两分钟去支付宝AR黑线(手把手教你)

    javascript

    javascript也很简单,就两部分:

    一部:分初始化条纹,

    两分钟去支付宝AR黑线(手把手教你)

    第二部分:上下移动指定组的条纹,显示隐藏白条

    两分钟去支付宝AR黑线(手把手教你)

    来看结果吧!

    before

    两分钟去支付宝AR黑线(手把手教你)

    after

    两分钟去支付宝AR黑线(手把手教你)

    好吧,不得不承认,这是次失败的结果!哈哈哈哈(默哀两分钟)

    总结

    e,总的来说去黑线还存在很大的难度的,就如我上文所说的,主要还是黑线不等距,而且尽量用黑线附近的条纹去填充黑线,还原度高一点,如果用微积分的思想去想,去黑线理论上还是可以实现,基于妹子技术有限,给大家提供一个思路,也希望大家也可以集思广益,也不是非要去抢几毛钱的红包(据说每天只能抢10次),但是对我们来说,我想,最后收获的不仅仅是几毛钱的红包吧!


    这是我感觉做的比较好的在线去黑线一卷照片 - 支付宝AR红包图片处理

    相关文章

      网友评论

      本文标题:两分钟去支付宝AR黑线(手把手教你)

      本文链接:https://www.haomeiwen.com/subject/ctfevttx.html