2009-07-22 6 views
6

Apple sagt, dass CIFilter in iPhone OS verfügbar ist. Auf meinem Mac konnte ich jedoch kein CoreImage-Framework finden, mit dem ich verlinken könnte.Wie kann ich CIFilter in iPhone OS verwenden?

Filter Ein optionaler Core Image Filter Objekt, das den Übergang bereitstellt.

@property (behalten) CIFilter * Filter

dh, wenn ich versuche, so etwas zu tun, stürzt es, weil CIFilter unbekannt ist:

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

ich gegen verbunden:

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

Antwort

6

Das folgende Beispiel zeigt, wie ich einen gefilterten UIImage auf dem iPhone mit einem CIFilter erzeuge.

- (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 ist mit iOS ab dem 5.

Verwandte Themen