CoreImage

CIFilter

找出FilterName

[CIFilter filterNamesInCategory:nil]

回傳一個符合條件的FilterNamesArray

輸入CategoryKey或者輸入nil(回傳全部)

Result:

CategoryKey

extern NSString *kCICategoryDistortionEffect ; 
extern NSString *kCICategoryGeometryAdjustment ; 
extern NSString *kCICategoryCompositeOperation ; 
extern NSString *kCICategoryHalftoneEffect ; 
extern NSString *kCICategoryColorAdjustment ; 
extern NSString *kCICategoryColorEffect ; 
extern NSString *kCICategoryTransition ; 
extern NSString *kCICategoryTileEffect ; 
extern NSString *kCICategoryGenerator ; 
extern NSString *kCICategoryReduction ; 
extern NSString *kCICategoryGradient ; 
extern NSString *kCICategoryStylize ; 
extern NSString *kCICategorySharpen ; 
extern NSString *kCICategoryBlur ; 
extern NSString *kCICategoryVideo ; 
extern NSString *kCICategoryStillImage ; 
extern NSString *kCICategoryInterlaced ; 
extern NSString *kCICategoryNonSquarePixels ; 
extern NSString *kCICategoryHighDynamicRange ; 
extern NSString *kCICategoryBuiltIn ; 
extern NSString *kCICategoryFilterGenerator;

查詢CIFilter詳細資訊

NSLog(@"%@",[[CIFilter filterWithName:@"CIAdditionCompositing"] attributes]);

回傳有關這個Name的Filter的相關參數資訊

Result:

CIAttributeFilterCategories

這個Filter是被分類在哪些Categories

(用這些Categories Key可以找到這個Filter)

CIAttributeFilterDisplayName

這個Filter的顯示名稱

CIAttributeFilterName

這個Filter的名稱(剛剛函數輸入的名字)

其他屬性

使用這個Filter需要用到的參數

(有的有詳細說明最大最小值)

    CIFilter *filter = [CIFilter filterWithName:@"CIAdditionCompositing"];
    CIImage *test1 = [[CIImage alloc]initWithImage:[UIImage imageNamed:@"sfffff.png"]];
    CIImage *test2 = [[CIImage alloc]initWithImage:[UIImage imageNamed:@"mark.png"]];
    [filter setValue:test1 forKey:@"inputImage"];
    [filter setValue:test2 forKey:@"inputBackgroundImage"];
    CIImage *image = [filter valueForKey:@"outputImage”];

CIAdditionCompositing

Example:

利用兩張圖片重疊添加顏色分量提高亮度

inputBackgroundImage

  • 底圖
  • 需用CIImage

inputImage

  • 疊在底圖上
  • 需用CIImage

Result:

CIAffineTransform

Example:

利用矩陣變形圖片

     CIFilter *filter = [CIFilter filterWithName:@"CIAffineTransform"];
     CIImage *test1 = [[CIImage alloc]initWithImage:[UIImage imageNamed:@"test.png"]];
     [filter setValue:test1 forKey:@"inputImage"];
     CGAffineTransform tran = CGAffineTransformMake(1, 0.5, 0, 1, 0,0);
     [filter setValue:[NSValue valueWithBytes:&tran objCType:@encode(CGAffineTransform)]
      forKey:@"inputTransform"];
     CIImage *image = [filter valueForKey:@"outputImage”];

inputImage

  • 想要變形的圖片
  • 需用CIImage

inputTransform

  • 仿射矩陣
  • 需用CGAffineTransform轉NSValue
  • CGAffineTransformMake(a,b,c,d,e,f)
  • a = [1,1],b = [1,2],c = [2,1],d = [2,2],e = [3,1],f = [3,2]
  • 與原圖相同為(1,0,0,1,0,0)

Result:

CIBarsSwipeTransition

將兩張圖螺旋融合成一張。

Example:

     CIFilter *filter = [CIFilter filterWithName:@"CIBarsSwipeTransition"];
     CIImage *test1 = [[CIImage alloc]initWithImage:[UIImage imageNamed:@"test.png"]];
     CIImage *test2 = [[CIImage alloc]initWithImage:[UIImage imageNamed:@"sfffff.png"]];
     [filter setValue:test1 forKey:@"inputImage"];
     [filter setValue:test2 forKey:@"inputTargetImage"];
     [filter setValue:@3 forKey:@"inputAngle"];
     [filter setValue:@5 forKey:@"inputBarOffset"];
     [filter setValue:@0.5 forKey:@"inputTime"];
     [filter setValue:@5 forKey:@"inputWidth"];
   
     CIImage *image = [filter valueForKey:@"outputImage”];

inputImage

  • 左邊的圖
  • 需用CIImage

inputTargetImage

  • 右邊的圖
  • 需為CIImage

inputAngle

  • 角度
  • 需用NSNumber
  • 最大值為 6.283185307179586
  • default為 3.141592653589793
  • 最小值為0

inputWidth

  • 寬度
  • 需用NSNumber
  • 最小值為2
  • default為30

inputBarOffset

  • bar偏移程度
  • 需用NSNumber
  • 最小值為1
  • default為10

Result:

What's new in iOS 8?

Audio Effects

音樂濾鏡

New Image Filters

新的CIFilter

Custom Filters

客製化濾鏡

Metal Basic

(需用iphone6)

Metal Uniform Streaming

(需用iphone6)

SceneKit

場景

HealthKit

可用於醫療系統

TouchID

指紋辨識

Visual Effects

毛玻璃

Table Separator Effect

TableView分隔線

Ruby Annotation

顯示每個字的發音

Web Kit

WKWebView

UIAlertController

UIAlertView + UIAlertSheet

User Notification

客製Action

Altimeter

(需有M8)

Pedometer

(需有M7、M8)

AVKit

媒體播放DEMO

Histogram

產生直方圖

Code Generator

產生條碼

New Fonts

新字體

Popover

UIPopoverPresentationController

The end

Made with Slides.com