iOS非線性變化漸變色

轉gif壓縮問題,實機效果無明顯棱線

需求分析

項目中很多時候要使用漸變色,但是系統(tǒng)框架給出的漸變都是線性漸變,那么想實現(xiàn)像陰影那樣的非線性漸變就需要定義大量的點和中間色值。

思考

首先根據(jù)系統(tǒng)漸變特點,我們知道他是有一個locations和colors的,代表特征點位的色值。我們想實現(xiàn)類似陰影那樣的即平滑有非線形的顏色變化過程實際上就是對這兩個值做定義。但我們不可能每次都手動往里添加這么多特征點和色值,所以需要一個合適的方法來計算中間的點或色值。
數(shù)學定義上,非線性連續(xù)變化的很容易想到曲線,而常接觸的曲線除了圓就是貝塞爾曲線了,這里我們使用貝塞爾曲線,通過調整控制點來動態(tài)控制顏色變化。

結果

demo地址

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容