2009-07-22 15 views
6

Apple afferma che CIFilter è disponibile su iPhone OS. Tuttavia, sul mio Mac non sono riuscito a trovare un framework CoreImage da collegare.Come posso usare CIFilter in iPhone OS?

filter Un oggetto opzionale Core Image filter che fornisce la transizione.

@property (mantenere) CIFilter * filtro

cioè quando provo a fare qualcosa di simile, si blocca a causa CIFilter è sconosciuta:

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

ho linkato contro:

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

risposta

6

Il seguente è un esempio di come sto generando un UIImage filtrato su iPhone utilizzando un CIFilter.

- (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 è disponibile a partire con iOS 5

Problemi correlati