ObjecTips

Swift & Objective-C で iOS とか macOS とか

iOS 13 beta 3 で追加された Core Image API

前回までの変更点

koze.hatenablog.jp

今回は iOS 13 beta 3 で変更点をチェック。
追加フィルタは1つで、他若干の追加APIが見られた。

https://gist.github.com/Koze/86315376f00fa44662f0d841f046e5d2/revisions

iOS 13 beta 3

CIRoundedRectangleGenerator

まず追加フィルタ

roundedRectangleGenerator() - CIFilter | Apple Developer Documentation

試して見たところ UIBezierPathinit(roundedRect:cornerRadius:) と同じで rect と radius とを設定して、シェイプの fill color を設定するだけのシンプルなものだった。

transformed(by:highQualityDownsample:)

こちらは追加API

transformed(by:highQualityDownsample:) - CIImage | Apple Developer Documentation

新たに追加されたAPIだけど iOS 10 まで遡って利用可能。ドキュメントは記載が無いがヘッダにコメントが載っていた。

// specifying true or false here will override the context's kCIContextHighQualityDownsample setting.

これまでは CIContext でハイクオリティのダウンサンプリングを利用するかどうかを設定可能だったが、今回のオプションではコンテキスト全体ではなくてスケール処理の一部でハイクオリティを利用するかどうかをコントロール出来る様になりそう。

kCIInputEnableEDRModeKey

追加のオプションキー

kCIInputEnableEDRModeKey - Core Image | Apple Developer Documentation

こちらもまだドキュメントは無いがヘッダにはよれば以下

/** NSNumber (BOOL) : Allows the output to have an Extended Dynamic Range with values greater than 1 possible */

Extended Dynamic Range を有効にするオプションキーらしい。

@available(iOS 12.0, *)
public let kCIInputEnableEDRModeKey: String

現在は String 型になっていて上記の様に宣言されているが、CIRAWFilter 内で宣言されており併記されている他のキーは全て CIRAWFilterOption 型になっているので、このキーも今後のアップデートで CIRAWFilterOption に属する様になるかも知れない。