首先,open graphics library(opengl)用於二維和三維的視覺化。而opengl for embedded systems(opengl es)是opengl的乙個簡化版本,消除冗餘的功能並提供乙個庫,非常容易學習,在移動裝置上應用實踐容易。
它直接執行的圖形處理硬體上,也就是gpu,並不執行在cpu上,因此,對cpu的消耗非常的小,並不影響程式的執行速度。如果是羅列出各種濾鏡,反而吃cpu,讓程式執行速度慢。
其次,opengles是基於c語言編寫的,與平台無關的應用程式介面。
因此,進行大量渲染的時候,通常使用opengles
下面是乙個例子:
#import "viewcontroller.h"
#import
@inte***ce viewcontroller ()
@property (strong, nonatomic) glkview *glkview;//渲染用的buffer檢視
@property (strong, nonatomic) cifilter *filter;
@property (strong, nonatomic) ciimage *ciimage;
@property (strong, nonatomic) cicontext *cicontext;
@end
@implementation viewcontroller
- (void)viewdidload ];
//coreimage相關設定
_ciimage = [[ciimage alloc] initwithimage:showimage];
_filter = [cifilter filterwithname:@"cisepiatone"];// //棕黑色調
[_filter setvalue:_ciimage forkey:kciinputimagekey];
[_filter setvalue:@(0) forkey:kciinputintensitykey];
//開始渲染
[_cicontext drawimage:[_filter outputimage] inrect:cgrectmake(0, 0, _glkview.drawablewidth, _glkview.drawableheight) fromrect:[_ciimage extent]];
[_glkview display];
// [self filter];
//動態渲染
uislider *slider = [[uislider alloc] initwithframe:cgrectmake(0, 450, 320, 20)];
slider.minimumvalue = 0.f;
slider.maximumvalue = 1.f;
[slider addtarget:self action:@selector(sliderevent:) forcontrolevents:uicontroleventvaluechanged];
[self.view addsubview:slider];
}- (void)sliderevent:(uislider *)slider
@end
iOS使用濾鏡
ciimage.這個類儲存影象資料。它可以從uiimage 影象檔案 或者是畫素資料中構造出來。cifilter.濾鏡類包含乙個字典結構,對各種濾鏡定義了屬於他們各自的屬性。濾鏡有很多種,比如鮮豔程度濾鏡,色彩反轉濾鏡,剪裁濾鏡等等。把uiimage轉換成濾鏡可以操作的ciimage ciimage...
Flash中如何使用濾鏡
使用濾鏡 應用或刪除濾鏡 複製和貼上濾鏡 為物件應用預設濾鏡 啟用或禁用應用於物件的濾鏡 啟用或禁用應用於物件的所有濾鏡 建立預設濾鏡庫 物件每新增乙個新的濾鏡,在屬性檢查器中,就會將其新增到該物件所應用的濾鏡的列表中。可以對乙個物件應用多個濾鏡,也可以刪除以前應用的濾鏡。只能對文字 按鈕和影片剪輯...
Flash中如何使用濾鏡
使用濾鏡 應用或刪除濾鏡 複製和貼上濾鏡 為物件應用預設濾鏡 啟用或禁用應用於物件的濾鏡 啟用或禁用應用於物件的所有濾鏡 建立預設濾鏡庫 物件每新增乙個新的濾鏡,在屬性檢查器中,就會將其新增到該物件所應用的濾鏡的列表中。可以對乙個物件應用多個濾鏡,也可以刪除以前應用的濾鏡。只能對文字 按鈕和影片剪輯...