#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 件のコメント:
コメントを投稿