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

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

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

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

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

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


图一

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


图片发自简书App


问题来了

这个方法对等距离黑线来说还是很有用的,但是这种效果看起来却不是很好,是因为黑线不等距,而且①只是透明度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样式很简单,就一个背景图,条纹在上面局对定位;


图片发自简书App


html

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


图片发自简书App


javascript

javascript也很简单,就两部分:

一部:分初始化条纹,

图片发自简书App

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

图片发自简书App

来看结果吧!

before

图片发自简书App

after


图片发自简书App

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

总结

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


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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,176评论 25 709
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,680评论 1 92
  • 因为近期项目没有压力,主要工作就是一些涉及功能增删相关的界面的小工作,修修补补,搞个图标之类,设计师小伙伴们都懂的...
    泱泱悲秋阅读 10,796评论 1 27
  • 没有人一定会在雨夜接你 没有人一定会读懂你的心 当你学会不在意别人的诋毁嘲笑的时候 当你可以忍受孤身一人的寂寥 不...
    笃学青衿阅读 3,222评论 7 3
  • 今天,应学校要求,我们各自去医院做了体检。从早上坐错车开始,便注定了我这不平凡的一天。 整个过程极其的犯二,我都不...
    SHE林阅读 1,878评论 0 0