iOS 8.3 to iOS 9.0 API Differences Core Image
画像周りの変更点をまとめようと思ったら Core Image だけで済んでしまったので Core Image だけ。
関連記事は以下
iOS 8.3 to iOS 9.0 API Differences Core Image - ObjecTips
iOS 8.3 to iOS 9.0 API Differences オーディオ周り - ObjecTips
iOS 8.3 to iOS 9.0 API Differences ネットワークとWeb周り - ObjecTips
iOS 8.3 to iOS 9.0 API Differences CoreLocation - ObjecTips
iOS 8.3 to iOS 9.0 API Differences CoreTelephony - ObjecTips
CoreImage
CIContext
メタル対応
CIFeature
CITextFeature
CIFeatureTypeText
テキスト認識。
もしやと期待したけどAPIを見る限りOCRでの文字認識ではなくテキストの領域を認識するだけらしい。
@interface CITextFeature : CIFeature { } @property (readonly) CGRect bounds; @property (readonly) CGPoint topLeft; @property (readonly) CGPoint topRight; @property (readonly) CGPoint bottomLeft; @property (readonly) CGPoint bottomRight; @end
Private なプロパティやメソッドを調べてみてもテキストを取得するAPIはなかった。
CIFilter
フィルタのローカライズ名を取得可能に。
kCIAttributeFilterAvailable_iOS
kCIAttributeFilterAvailable_Mac
でフィルタがどのバージョンで使えるようになったかを取得可能。
この attributes のいい用途あるかな?
あとどの CIFilter が追加されたかは API Diffs に載ってない上に Core Image Fiter Reference もなかなか更新が遅い。今年は Core Image のセッションが無いようなので自分でコードを走らせて確認する必要がありそう。
参考
Core Image Filter Reference
CIImage
+ (CIImage *)imageWithCVImageBuffer:(CVImageBufferRef)imageBuffer NS_AVAILABLE(10_4, 9_0);
CVImageBuffer
から簡単に CIImage
が作れるようになった!
__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_NA);
だったのが NS_AVAILABLE(10_4, 9_0)
に更新。ますますOS XとAPIの互換性が高まってきた。
CIImageAccumulator
フィードバック処理をするフィルタ。
OS X には 10.4 からあったものがついに iOS にも!
NS_CLASS_AVAILABLE(10_4, 9_0)
@interface CIImageAccumulator : NSObject
Quartz Composer で結構使ってたエフェクトなので個人的に嬉しい。
CIImageProvider
ヘッダを見たところ、既存の画像形式を経由しない独自処理での画像生成を行って CIImage にする橋渡しのクラスって感じ?
CGImageRef
を作成する際の CGDataProviderRef
の役割に近い気がする。