最近比較火的支付寶AR實景紅包桃熄,感覺大玩起來還不錯,就是有點耗電型奥。
當(dāng)然瞳收,我也是絞盡乳汁去想怎么搞個黑科技碉京,把黑線給去掉,騙過支付寶粑粑螟深,領(lǐng)取紅包谐宙。經(jīng)過半天的事件,終于有了初步成果血崭,現(xiàn)在就分享給大家吧卧惜!
主流去黑線算法——等分互補法
各種百度一番,發(fā)現(xiàn)現(xiàn)在主流的去黑線的方法就是夹纫,等分互補法(這是我寄幾總結(jié)的)
來看看最簡單的ps方法吧:PS處理方法:PS打開圖片咽瓷,Ctrl+J新建圖層,設(shè)置新圖層透明度50%舰讹,上下挪動去除黑線茅姜。
大概思想就是如圖一,用①和②錯位互補去黑線月匣,好了來看看最后結(jié)果圖吧
問題來了
這個方法對等距離黑線來說還是很有用的钻洒,但是這種效果看起來卻不是很好,是因為黑線不等距锄开,而且①只是透明度50%素标,也就是說還有50%的黑線是在上面的,所以現(xiàn)在我們要解決的問題又兩點:
1.解決黑線不等分萍悴;
2.扣掉黑線(不是統(tǒng)一設(shè)成50%的透明度)
前端技術(shù)去黑線
因為妹子是碼磚的头遭,對ps技術(shù)還不是熟練,打算用前端技術(shù)來實現(xiàn)在線去黑線(html+css+js)就這么簡單粗暴的方法癣诱,然后掛在服務(wù)器上面计维,就可以實現(xiàn)一個在線去黑線的web網(wǎng)頁,是不是聽起來就很酷炫撕予,let's start it鲫惶!
核心算法
我自己的核心算法當(dāng)然是基于上面的等分互補法,用前端技術(shù)來搞的实抡;
第一步
背景圖:當(dāng)然是原圖欠母,沒有任何透明度的支付寶紅包原截屏圖
作用:當(dāng)然是用來被遮黑線的圖;
第二步
條形等距縫隙條組:我這里是將需要去條紋的正方形區(qū)域高度等分成60份吆寨,分成3組艺蝴;一組:3的倍數(shù);二組:3余一鸟废;三組:三余二;
作用:通過調(diào)整每組的相對原圖的上下位置達(dá)到去黑線效果姑荷;
第三步
都在第二步里面說了盒延,當(dāng)然是移動每組的相對高度缩擂;
前端代碼實現(xiàn)
我這里總共所有的代碼都只有一兩百行代碼,主要用的是CSS的“background-image”屬性添寺,想必懂前端的都不會陌生吧胯盯,我這里主要用的background-position來取每個條形的位置,高度當(dāng)然是總高度的1/60,寬度就是原寬度计露,好吧博脑,我們來看代碼吧
css
css樣式很簡單,就一個背景圖票罐,條紋在上面局對定位叉趣;
html
html代碼也很簡單,一個原圖疗杉,幾個按鈕,條紋是通過js添加上去的
javascript
javascript也很簡單蚕礼,就兩部分:
一部:分初始化條紋烟具,
第二部分:上下移動指定組的條紋,顯示隱藏白條
來看結(jié)果吧奠蹬!
before
after
好吧朝聋,不得不承認(rèn),這是次失敗的結(jié)果囤躁!哈哈哈哈(默哀兩分鐘)
總結(jié)
e冀痕,總的來說去黑線還存在很大的難度的,就如我上文所說的割以,主要還是黑線不等距金度,而且盡量用黑線附近的條紋去填充黑線,還原度高一點严沥,如果用微積分的思想去想猜极,去黑線理論上還是可以實現(xiàn),基于妹子技術(shù)有限消玄,給大家提供一個思路跟伏,也希望大家也可以集思廣益,也不是非要去搶幾毛錢的紅包(據(jù)說每天只能搶10次)翩瓜,但是對我們來說受扳,我想,最后收獲的不僅僅是幾毛錢的紅包吧兔跌!
這是我感覺做的比較好的在線去黑線一卷照片 - 支付寶AR紅包圖片處理