2009-07-22 4 views
6

Appleは、CIFilterはiPhone OSで利用可能であると言います。しかし、私のMac上で私はリンクするCoreImageフレームワークを見つけることができませんでした。iPhone OSでCIFilterを使用するにはどうすればよいですか?

filterトランジションを提供するオプションのCore Imageフィルタ オブジェクトです。

@property(保持)CIFilterの*フィルタ

つまり、私はこのような何かをしようとすると、CIFilterが不明であるため、それがクラッシュ:

[transition setFilter:[CIFilter filterWithName:@"CIShapedWaterRipple"]]; 

私はに対してリンク:

#import <UIKit/UIKit.h> 
#import <QuartzCore/QuartzCore.h> 
#import <CoreGraphics/CoreGraphics.h> 

答えて

6

以下は、CIFilterを使用してiPhoneでフィルタリングされたUIImageを生成する方法の例です。

- (UIImage*)sepia 
{  
    CIImage *beginImage = [CIImage imageWithCGImage:[self CGImage]]; 
    CIContext *context = [CIContext contextWithOptions:nil]; 

    CIFilter *filter = [CIFilter filterWithName:@"CISepiaTone" 
            keysAndValues: kCIInputImageKey, beginImage, 
         @"inputIntensity", [NSNumber numberWithFloat:0.8], nil]; 
    CIImage *outputImage = [filter outputImage]; 

    CGImageRef cgimg = 
    [context createCGImage:outputImage fromRect:[outputImage extent]]; 
    UIImage *newImg = [UIImage imageWithCGImage:cgimg]; 

    self = newImg; 

    CGImageRelease(cgimg); 
    return self; 
} 
4

CIFilterは、iOS以降で使用できます5

関連する問題