0

iOS5.0でバンプディストーションを実行する必要があります...xcodeにエラーが表示されず、出力も得られません...バンプフィルターインスタンスをトレースして印刷している間、null値が出力されます...

それについてのアイデア...

いくつかの投稿は、iOS 5.0では機能しなかったことを示してい ますが、バンプディストーションを実行する他の方法があります...

前もって感謝します....

よろしく、

スパイネット

私のコード...

context = [CIContext contextWithOptions:nil];
     CIFilter *bumpDistortion = [CIFilter filterWithName:@"CIBumpDistortion"];
     [bumpDistortion setValue:ciimage forKey:kCIInputImageKey];
     [bumpDistortion setValue:[CIVector vectorWithX:200 Y:150] forKey:@"inputCenter"];
     [bumpDistortion setValue:[NSNumber numberWithFloat:100] forKey:@"inputRadius"];
     [bumpDistortion setValue:[NSNumber numberWithFloat:3.0] forKey:@"inputScale"];

    CIImage *imageOutput = [bumpDistortion outputImage];

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

    [self.imageView setImage:newImg];
4

2 に答える 2

3

omzが指摘しているように、この特定のCoreImageフィルターはiOS5.1の時点ではありません。

ただし、 GPUImageフレームワークとGPUImageBulgeDistortionFilterを使用してこれを簡単に行うことができます。

バンプ歪み

UIImageを処理し、UIImageの結果を取得するには、次のようなコードを使用します。

UIImage *inputImage = [UIImage imageNamed:@"test.jpg"];
GPUImageBulgeDistortionFilter *stillImageFilter = [[GPUImageBulgeDistortionFilter alloc] init];
UIImage *quickFilteredImage = [stillImageFilter imageByFilteringImage:inputImage];

これは、ライブビデオや事前に録画された映画でもリアルタイムで行うことができます。

この回答では、このフレームワークで実行できる他のいくつかの歪みを示しています。

于 2012-04-19T14:39:42.787 に答える
2

呼び出す[CIFilter filterNamesInCategory:kCICategoryDistortionEffect]と、iOSではディストーションフィルター(などCIBumpDistortion)がまったく使用できないことがわかります。

と同じ方法を使用して、kCICategoryBuiltIn使用可能なすべてのフィルターのリストを取得できます。

于 2012-04-19T14:13:04.787 に答える