iOS 酷炫的一個畫發(fā)散線條的小工具

前幾天在網(wǎng)上看見一個開源庫, 覺得效果看起來很酷, 直接上圖

Paste_Image.png

Paste_Image.png

首先, 這個庫是很簡單的, 但是我們其實是要學(xué)習(xí)這里邊的思路, 先想想,如果是你,該如何實現(xiàn)這種效果呢, 你會設(shè)置哪些參數(shù)呢?
想沒想好也沒關(guān)系,我們先看他是怎么實現(xiàn)的呢?讓我們來看看源碼吧.
庫提供了畫線和圓圈兩個接口, 由于參數(shù)類似, 我們其實通過一個就可以了解了.

func drawDistortedLine(
with definitionPoints: Int, 
width: CGFloat, '
numberOfLines: Int, 
xRandomness: CGFloat, 
yRandomness: CGFloat, 
xInfluenceInXAxis: CGFloat, 
yInfluenceInXAxis: CGFloat
) -> UIImage 
  • definitionPoints 我們可以理解為這條線會發(fā)生多少次突變, 數(shù)目越大變化越明顯
  • numberOfLines 這個很好理解, 就是線的條數(shù)
  • Randomness 這個值就是隨機變化的浮動范圍, 如果你想上下浮動各25, 那么你可以設(shè)置它為 50
  • InfluenceInXAxis 這個最后這個值代表隨機浮動的影響力, 默認(rèn)為1, 如果設(shè)置為 0.1, 那么最后的浮動范圍 就是 = 隨機值 * 0.1

看了這幾個參數(shù), 那么我就可以把整個畫圖的流程給大家說一遍了

  1. 首先得到參數(shù)
  2. 根據(jù)參數(shù)得到一條線的一些隨機點
    2.1. 首先根據(jù) definitionPoints 把 先平分
    2.2. 每一個節(jié)點計算隨機浮動
    2.3. 再把 浮動值*Influence
    2.4. 移動節(jié)點并保存到數(shù)組
  3. 重復(fù)步驟 2, 得到所有線的點集
  4. 計算所有點所存在的范圍
  5. 根據(jù)點畫出所有的線, 然后導(dǎo)出圖片(劃線的時候使用貝塞爾曲線)

結(jié)語

類庫,很簡單,但是讓你去寫卻不一定能很輕松.
我不知道為什么, 在看他的參數(shù)的時候莫名其妙的就想到了 autoLayout, 細(xì)想想, 的確有些地方有些神似, 其實也就是通過多維條件來控制一個數(shù)值, 在 layout 中就是距離, 在這里就是隨機偏移.
這個庫算是給大家沒事開開腦洞罷了. 有興趣去看看源碼~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末测僵,一起剝皮案震驚了整個濱河市姨蟋,隨后出現(xiàn)的幾起案子告唆,更是在濱河造成了極大的恐慌,老刑警劉巖贱田,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異终娃,居然都是意外死亡卷雕,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進店門骂铁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來吹零,“玉大人,你說我怎么就攤上這事拉庵〔右危” “怎么了?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵钞支,是天一觀的道長茫蛹。 經(jīng)常有香客問我,道長烁挟,這世上最難降的妖魔是什么婴洼? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮撼嗓,結(jié)果婚禮上柬采,老公的妹妹穿的比我還像新娘。我一直安慰自己且警,他們只是感情好粉捻,可當(dāng)我...
    茶點故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著振湾,像睡著了一般杀迹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上押搪,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天,我揣著相機與錄音浅碾,去河邊找鬼大州。 笑死,一個胖子當(dāng)著我的面吹牛垂谢,可吹牛的內(nèi)容都是我干的厦画。 我是一名探鬼主播,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼根暑!你這毒婦竟也來了力试?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤排嫌,失蹤者是張志新(化名)和其女友劉穎畸裳,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體淳地,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡怖糊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了颇象。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片伍伤。...
    茶點故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖遣钳,靈堂內(nèi)的尸體忽然破棺而出扰魂,到底是詐尸還是另有隱情,我是刑警寧澤蕴茴,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布劝评,位于F島的核電站,受9級特大地震影響荐开,放射性物質(zhì)發(fā)生泄漏付翁。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一晃听、第九天 我趴在偏房一處隱蔽的房頂上張望百侧。 院中可真熱鬧,春花似錦能扒、人聲如沸佣渴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽辛润。三九已至,卻和暖如春见秤,著一層夾襖步出監(jiān)牢的瞬間砂竖,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工鹃答, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留乎澄,地道東北人。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓测摔,卻偏偏與公主長得像置济,于是被迫代替她去往敵國和親解恰。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,573評論 2 359

推薦閱讀更多精彩內(nèi)容