iOS開發乙個製作Live Photo的工具

2021-09-07 19:30:43 字數 1845 閱讀 7967

**位址如下:

1.livephoto簡介

2.livephoto的本質

3.涉及到的技術

4.實現livephoto製作工具

/**

@param currenttime 某一時刻單位 s

@return return 返回image

*/- (uiimage *)getvideoimagewithtime:(float64)currenttime videopath:(nsurl *)path

3)將處理後的jpg 與 mov一同儲存生成livephoto

首先引入#import 框架,呼叫performchanges方法儲存,具體**如下

+ (void)writelivephotowithvideo:(nsurl *)videopath image:(nsurl *)imagepath result:(void(^)(bool res))result  completionhandler:^(bool success, nserror * _nullable error) 

if (result)

}];}

自此乙個簡單的livephoto製作工具完成。但是為了使用者體驗,我們還要進行素材選取途徑拓寬。

4)拓寬素材選取的途徑

a.從相簿選取素材

從相簿選取素材,這裡使用了uiimagepickercontroller來處理,具體**如下:

- (void)choosevideofromphotolibraryresult:(resultblock)result 

// uiimagepickercontroller 的選擇結果的**方法。

- (void)imagepickercontroller:(uiimagepickercontroller *)picker didfinishpickingmediawithinfo:(nsdictionary*)info }}

我們在專案工程下file-->new-->target-->share extension-->nest 建立乙個share extension如下圖:

這篇文章詳細解讀了share extension,如有需要可以先看一下

__weak typeof (self) ws = self;

[self.extensioncontext.inputitems enumerateobjectsusingblock:^(n***tensionitem * _nonnull obj, nsuinteger idx, bool * _nonnull stop) );

nslog(@"存入成功!!!");}}

}];*stop = yes;

}}];

*stop = yes;

}];

- (ibaction)handlevideo:(uibutton *)sender 

responder = [responder nextresponder];}}

5.專案檔案截圖

6.注意點

ios製作乙個速度表盤

我們首先看一下這個速度表盤的效果 速度表盤 為了實現上述的效果,我們首當其衝的是得了解的是貝塞爾曲線,聽上去好高大上的樣子,接下來我先就我了解貝塞爾曲線的知識給未接觸的朋友普及一下。b zier curve 貝塞爾曲線 是應用於二維圖形應用程式的數學曲線.主要有起始點 終止點 也稱錨點 控制點這幾個...

IOS開發 我的第乙個IOS程式

學完前面的objc基礎,那麼接下來我可以開始我的ios開發之旅了 1.首先開啟xcode建立乙個工程 3.在專案檔案區選擇viewcontroller.xib檔案 再選擇子螢幕object下的view,這樣就能開啟我們的iphone的窗體介面 4.接著在xcode主介面右下方拉入label butt...

培養iOS開發新人的乙個思路

堅持兩個方 1 發現問題的方法 熟悉 的過程 1 照著乙個完整的工程,從最基本的頁面開始做起。不懂的地方就問,就查。2 在閱讀 或拿到需求後要學會對問題進行分解。乙個陌生的問題如果不能被分解,那麼它也很難被解決。3 根據分解出來的小任務,使用方法2進行解決。2 解決問題的方法 1 發現問題 一般是x...