筆記-GPUImage(一)簡介以及如何正確的導入項目

介紹

GPUImage是一個開源的基於GPU的圖片或視頻的處理框架,其自己內置了近120多種場景的濾鏡效果,而且支持照相機和攝像機的實時濾鏡,而且可以自定義圖像濾鏡。git

基本概念

GPUImage是採用鏈式方法處理畫面的,經過addTarget方法添加對象到鏈中,處理完一個target,就會把上一個環節處理的圖像數據傳遞到下一個target處理,成爲GPUImage處理鏈。github

GPUImage的四大輸入基礎類,均可以做爲響應鏈的起點,這些基礎類會把圖像做爲紋理傳給OpenGL ES處理,而後把紋理傳遞給響應鏈的下一個target對象。 xcode

source:框架

GPUImageVideoCamera:用於實時拍攝視頻
GPUImageStillCamera:用於實時拍攝照片
GPUImagePicture:用於處理已經拍攝好的圖片
GPUImageMovie:用於處理已經拍攝好的視頻ide

filter:
GPUImageFilter類或者子類,這個類繼承自GPUImageOutput,遵循GPUImageInput協議,既能夠流進數據,又能夠流出GPUImagefinal targetGPUImageViewGPUImageMovieWriter最終輸入目標,顯示圖片或視頻。ui

導入

GPUImage開源庫並不像其餘的開源庫那樣,拖進你的工程就能夠用,須要添加依賴關係。3d

  • 首先官網下載:github.com/BradLarson/…code

  • 下載完成後,找到framework文件夾,而後刪除GPUImageMac.xcodeproj文件,再進入Source文件夾,刪除Mac文件夾(這一步不作的話,即便導入成功,編譯也會出錯,當時走了很多彎路)cdn

  • framework文件夾下的GPUImage.xcodeproj文件拖入到項目裏,應該是這樣的 視頻

  • 在項目根目錄裏新建GPUImage文件夾,把以前處理過的framework文件夾複製進GPUImage文件夾下。

  • 在項目的Targets依賴設置裏添加GPUImage做爲Target Dependencies

  • Build PhasesLink Binary With Libraries下,把libGPUImage.a加進去。

  • 而後添加下面這些系統的framework:CoreMedia、CoreVideo、OpenGLES、AVFoundation、QuartzCore(不添加也不影響)

  • 添加頭文件路徑:Build Settings -> Header Search Paths 添加GPUImage的路徑,前面提到,在項目的根目錄下建立了一個GPUImage文件夾,framework在該文件夾下,因此添加的路徑爲GPUImage/framework。注意,路徑須要選擇recursive

  • Build sSetting裏面,Other Linker Flags 裏面添加 -fobjc-arc -ObjC這兩項

  • 最後,在須要的文件裏引入頭文件#import "GPUImage.h"便可。

相關文章
相關標籤/搜索