使用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...