5

Core イメージに問題があります。私がやっていることは、UIImageViewから画像を取得してから、チュートリアルで見つけたコードを使用することです(私はコア画像が初めてです)が、セピア画像を同じ同じUIImageViewに戻したいとき新しい画像をビューに入れると、画像ビューに画像が含まれているかどうかをテストしましたが、表示されません。何をすべきかについて何か提案はありますか?

編集:セピアフィルターが機能するようになったので、ポスタライズを試みましたが、画像が消えるだけの問題がありました。コードは次のとおりです。

CIImage *beginImage = [CIImage imageWithCGImage:[image_view.image CGImage]];
context = [CIContext contextWithOptions:nil];
filter = [CIFilter filterWithName:@"CIColorPosterize" keysAndValues:kCIInputImageKey, beginImage,@"inputLevels",[NSNumber numberWithFloat:0.8], nil];
CIImage *outputImage = [filter outputImage];
CGImageRef cgimg = [context createCGImage:outputImage fromRect:[outputImage extent]];
UIImage *newImg = [UIImage imageWithCGImage:cgimg];
[image_view setImage:newImg];
CGImageRelease(cgimg);
4

2 に答える 2

11

このようなことを試してください(UIImageView *myImageViewがあるとしましょう)

CIImage *beginImage = [CIImage imageWithCGImage:[myImageView.image 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];

[myImageView setImage:newImg];

CGImageRelease(cgimg);
于 2012-06-22T00:28:44.837 に答える