iOS開發高階 實現類似美顏相機的相機啟動動畫

2021-12-30 04:26:10 字數 1133 閱讀 7911

最近在寫乙個相簿的demo,偶爾看到了美拍的相機過載動畫覺得很有意思,就想在我的相簿demo中加入乙個這種特效,下面把我的想法和實現過程給大家分享一下

這個動效看起來很有特色但是實現起來是非常簡單的,只需要用到calayer和cashapelayer做為展示層,然後通過cabasicanimation實現動畫就行了~

用兩個calayer來呈現啟動的image 通過uibezierpath和cashapelayer來畫出具有曲線的cashapelayer 然後將曲線的cashapelayer做為calayer的mask 最後通過cabasicanimation做乙個簡單的位移動畫

/**繪製上半部分的layer

*/private func configtopshapelayer()

繪製後的結果是這樣的:

/**繪製下半部分的layer

*/private func configbottomshapelayer()

這裡注意的是畫的貝斯爾曲線上半部分的要整體向下平移1到2個畫素,為了防止貝斯爾曲線畫曲線導致的鋸齒效果,下面是下半部分完成後的效果圖:

/**展開的動畫

*/func staranimation()

/**動畫完成後移除當前view

*/internal override func animationdidstop(anim: caanimation, finished flag: bool)

}這裡為了方便觀察,我將動畫時間變長了,下面是完成後的效果圖:

到這裡這個動效就完成的差不多了,希望大家能學到東西,如果大家有更好的實現辦法也可以給我提意見,我學習學習,謝謝大家**,另外附加demo位址,喜歡的可以關注一下

NDK 開發實戰 實現相機美顏功能

在 圖形影象處理 實現的美容效果 一文中提到了的美容,採用雙邊濾波演算法來實現,具體的演算法流程和實現思路,大家可以在上篇文章中了解,這篇文章就在不再反覆囉嗦了。這裡我們再次來看下處理效果 上面的效果看似好像不錯,其實存在了大量的問題。從處理速度上來說,雙邊模糊演算法是在二維的高斯函式上新增畫素差值...

Camera相機開發 實現開啟相機

android camera相機開發知識點介紹了進行camera開發需要了解的知識點 由於6.0 以上的系統需要我們在程式執行的時候進行動態許可權申請,所以我們需要在程式啟動的時候去檢查許可權,有任何乙個必要的許可權被使用者拒絕時,我們就彈窗提示使用者程式因為許可權被拒絕而無法正常工作 privat...

Android上類似於iOS相機滑動切換的View

蘋果相機有乙個功能就是左右切換拍攝模式,左右滑動就可以切換。然而,目前的問題是如果使用了view和fragment之後相機開啟是有異常的,所以不能使用這種方式。於是只好反編譯其他實現了這種功能的相機,得到線索是,有乙個自定義的bottomview,bottomview中載入了乙個自定義的viewgr...