#import <CoreImage/CoreImage.h> // CoreImage.frameworkはプロジェクトに追加しておくこと // どこかのメソッドの中 // ビルトインフィルター名表示 NSArray *filters = [CIFilter filterNamesInCategories:[NSArray arrayWithObject:kCICategoryBuiltIn]]; NSLog(@"kCICategoryBuiltIn = %@",filters); // 各フィルターのアトリビュート表示 for (NSString *filterName in filters) { CIFilter *samplef = [CIFilter filterWithName:filterName]; NSDictionary *attrs = [samplef attributes]; NSLog(@"Filter <%@> :\n %@",filterName,attrs); }
プログラムを実行すると、例えば CIColorControls フィルターの場合、以下のようにログ出力されます。
2011-12-25 23:30:24.831 SampleApp[25317:207] Filter <CIColorControls> : { CIAttributeFilterCategories = ( CICategoryColorAdjustment, CICategoryVideo, CICategoryStillImage, CICategoryInterlaced, CICategoryNonSquarePixels, CICategoryBuiltIn ); CIAttributeFilterDisplayName = "Color Controls"; CIAttributeFilterName = CIColorControls; inputBrightness = { CIAttributeClass = NSNumber; CIAttributeDefault = 0; CIAttributeIdentity = 0; CIAttributeSliderMax = 1; CIAttributeSliderMin = "-1"; CIAttributeType = CIAttributeTypeScalar; }; inputContrast = { CIAttributeClass = NSNumber; CIAttributeDefault = 1; CIAttributeIdentity = 1; CIAttributeSliderMax = 4; CIAttributeSliderMin = 0; CIAttributeType = CIAttributeTypeScalar; }; inputImage = { CIAttributeClass = CIImage; CIAttributeType = CIAttributeTypeImage; }; inputSaturation = { CIAttributeClass = NSNumber; CIAttributeDefault = 1; CIAttributeIdentity = 1; CIAttributeSliderMax = 2; CIAttributeSliderMin = 0; CIAttributeType = CIAttributeTypeScalar; }; }これによると、CIColorControls フィルターは、CICategoryColorAdjustment カテゴリー等に属していて、inputBrightness、inputContrast、inputSaturation、inputImage の4つのパラメータを設定できることがわかります。
また、inputBrightness のデフォルト値は 0 で、-1〜1の値を NSNumber 型の変数で設定することができるとわかります。
現在、取得できたフィルターは以下のとおりです。今後、バージョンアップする毎に、内容が変わる可能性があるので注意して下さい。
CIAdditionCompositing, CIAffineTransform, CICheckerboardGenerator, CIColorBlendMode, CIColorBurnBlendMode, CIColorControls, CIColorCube, CIColorDodgeBlendMode, CIColorInvert, CIColorMatrix, CIColorMonochrome, CIConstantColorGenerator, CICrop, CIDarkenBlendMode, CIDifferenceBlendMode, CIExclusionBlendMode, CIExposureAdjust, CIFalseColor, CIGammaAdjust, CIGaussianGradient, CIHardLightBlendMode, CIHighlightShadowAdjust, CIHueAdjust, CIHueBlendMode, CILightenBlendMode, CILinearGradient, CILuminosityBlendMode, CIMaximumCompositing, CIMinimumCompositing, CIMultiplyBlendMode, CIMultiplyCompositing, CIOverlayBlendMode, CIRadialGradient, CISaturationBlendMode, CIScreenBlendMode, CISepiaTone, CISoftLightBlendMode, CISourceAtopCompositing, CISourceInCompositing, CISourceOutCompositing, CISourceOverCompositing, CIStraightenFilter, CIStripesGenerator, CITemperatureAndTint, CIToneCurve, CIVibrance, CIVignette, CIWhitePointAdjust
0 件のコメント:
コメントを投稿