2012-01-18 7 views
1

私はアプリのiPadとiPhoneのために、画像を黒色にしたいと考えています。&はできるだけ白いです。私は2つのCIFilterを使用しようとするときにいくつかの問題

1 - 私は、iPadのやiPhoneのカメラで自分の写真を撮る:

私はそのために多くのことをしました。

2 - 私の最初のフィルタを適用する== CIColorMonochrome ==と私はその動作するかどうかを確認するために表示されます。 私の最初のフィルターはうまく機能します。

3 - 私は私の最後のフィルタの結果を回復し、私は私の新しいフィルタ== CINoiseReductionを適用するためにそれを使用する==とその仕事があまりにもあれば、私は確かにそれを表示!しかし、今回は何も表示しないので、私は理由を知らない。

 //CIColorMonochrome 
    CIFilter * monochromeFilter; 
    monochromeFilter = [CIFilter filterWithName:@"CIColorMonochrome"]; 
    [monochromeFilter setValue:beginImage forKey:@"inputImage"]; 

    //Red Green Blue Alpha 
    [monochromeFilter setValue:[CIColor colorWithString:@"255 255 255 1.0"] forKey:@"inputColor"]; 

    [monochromeFilter setValue:[NSNumber numberWithFloat:1] forKey:@"inputIntensity"]; 
    CIImage* monochromeImage = [monochromeFilter valueForKey:@"outputImage"]; 
    CIImage* outputImage = monochromeImage; 

    //---===--- 

    CIFilter* noiseReductionFilter = [CIFilter filterWithName:@"CINoiseReduction"]; 

    //[noiseReductionFilter setDefaults]; 

    [noiseReductionFilter setValue:outputImage forKey:@"inputImage"]; 
    [noiseReductionFilter setValue:[NSNumber numberWithFloat:0.2] forKey:@"inputNoiseLevel"]; 
    [noiseReductionFilter setValue:[NSNumber numberWithFloat:0.40] forKey:@"inputSharpness"]; 
    [noiseReductionFilter retain]; 

    CIImage* noiseReductionImage = [noiseReductionFilter valueForKey:@"outputImage"]; 

    // ---===--- 
    outputImage = noiseReductionImage; 

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

    [imageView removeFromSuperview]; 

    CGRect imageFrame = [imageView frame]; 

    [imageView release]; 

    // [self noiseReduction:newImg]; 

    imageView = [[UIImageView alloc]initWithImage:newImg]; 
    NSLog(@"%@ ===---=== " ,[self noiseReduction:newImg]); 
    if (flag == 0) 
     [imageView setFrame:imageFrame]; NSLog(@"setFrame image"); 

    NSLog(@"%@ ==== ", imageView); 

    [[self view]addSubview:imageView]; 

心から

+0

CIColorMonochromeは、Mac OS X v10.4以降で使用できます。 iOS以外 https://developer.apple.com/library/mac/#documentation/graphicsimaging/reference/CoreImageFilterReference/Reference/reference.html – Bala

+0

該当しません。利用可能なフィルタは、次のように表示されます。NSArray * properties = [CIFilter filterNamesInCategory:kCICategoryBuiltIn]; CIFilter * theFilter = [CIFilter filterWithName:filterName]の(NSString * filterNameの) については、 NSString * filterName = [フィルタ名]; NSLog(@ "%@"、filterName); } – Keller

答えて

関連する問題