使用CoreImage教程

2021-09-23 21:54:07 字數 3223 閱讀 4981

使用coreimage教程

coreimage包含有很多實用的濾鏡,專業處理的庫,為了能看到各種渲染效果,請使用如下素材.

現在可以開始教程了:

// 固定的寬度

uiimage * fiximagewidth(uiimage *image, cgfloat width)

**片段

// 將uiimage轉換成ciimage

// 建立濾鏡

cifilter *filter = [cifilter filterwithname:@"ciphotoeffectmono"

keysandvalues:kciinputimagekey, ciimage, nil];

[filter setdefaults];

// 獲取繪製上下文

cicontext *context = [cicontext contextwithoptions:nil];

// 渲染並輸出ciimage

ciimage *outputimage = [filter outputimage];

// 建立cgimage控制代碼

cgimageref cgimage = [context createcgimage:outputimage

fromrect:[outputimage extent]];

// 獲取

uiimage *showimage = [uiimage imagewithcgimage:cgimage];

// 釋放cgimage控制代碼

cgimagerelease(cgimage);

// 顯示

uiimageview *imageview = \

[[uiimageview alloc] initwithimage:fix_image(showimage)];

[self.view addsubview:imageview];

**片段

效果如下:

我們對操作進行簡易的封裝:

cifiltereffect.h + cifiltereffect.m

//

// cifiltereffect.h

// cifilter

//// created by youxianming on 14-5-9.

//#import @inte***ce cifiltereffect : nsobject

@property (nonatomic, strong, readonly) uiimage *result;

- (instancetype)initwithimage:(uiimage *)image filtername:(nsstring *)name;

@end

//

// cifiltereffect.m

// cifilter

//// created by youxianming on 14-5-9.

//#import "cifiltereffect.h"

@inte***ce cifiltereffect ()

@property (nonatomic, strong, readwrite) uiimage *result;

@end

@implementation cifiltereffect

- (instancetype)initwithimage:(uiimage *)image filtername:(nsstring *)name

return self;

}@end

我們來開始嘗試其他的濾鏡效果,我們可以嘗試的至少有這些:

下面是所有渲染出來的,與上面提供的濾鏡名字一一對應:

以下效果是需要進行一些配置才能達到的效果,這個就不開源了,你懂得:).

福利:core image filter reference

Core Image程式設計指南

1.cifilter 乙個可變的物件代表乙個影響。乙個濾波物件至少有乙個輸入引數並且產生乙個輸出。3.cicontext coreimage通過這個物件將濾波產生的結果畫出來。乙個core image上下文可以基於cpu或者是gpu。overview 使用core image時需要在專案中加入框架c...

iOS人臉識別 CoreImage

1 從初始uiimage獲取乙個ciimage物件。2 建立乙個用於分析物件的cicontext。3 通過type和options引數建立乙個cidetector例項。type引數指定了要識別的特徵型別。options引數可以設定識別特徵的精確度,低精確度速度快,高精確度更準確。4 建立乙個影象陣列...

CoreImage框架基本應用

ciimage.這個類儲存影象資料。它可以從uiimage 影象檔案 或者是畫素資料中構造出來。cifilter.濾鏡類包含乙個字典結構,對各種濾鏡定義了屬於他們各自的屬性。濾鏡有很多種,比如鮮豔程度濾鏡,色彩反轉濾鏡,剪裁濾鏡等等。把uiimage轉換成濾鏡可以操作的ciimage ciimage...