2012-07-13 53 views
5

CITemperatureAndTintのサンプルコードはありますか?私はそのドキュメントを読んだが、私はそれを実装するためのいくつかの例が必要です。iOSの画像のCITemperatureAndTint

+0

yuoさんは次の仕事をしていますか? –

答えて

14
CIFilter *yourFilter = [CIFilter filterWithName:@"CITemperatureAndTint"]; 
[yourFilter setValue:yourInputImage forKey:@"inputImage"]; 
[yourFilter setValue:[CIVector vectorWithX:6500 Y:500] forKey:@"inputNeutral"]; // Default value: [6500, 0] Identity: [6500, 0] 
[yourFilter setValue:[CIVector vectorWithX:1000 Y:630] forKey:@"inputTargetNeutral"]; // Default value: [6500, 0] Identity: [6500, 0] 
CIImage *resultImage = [yourFilter valueForKey: @"outputImage"]; 
UIImage *resultOutputImage = [UIImage imageWithCGImage:[context createCGImage:resultImage fromRect:resultImage.extent]];  

色温度の値がどのような値を示すのかは、this wikipedia linkで確認できます。画像、ニュートラルとTargetNeutral:

For Reference

CITemperatureAndTintは、三つの入力パラメータがあります。 NeutralとTargetNeutralは2D CIVectorタイプであり、両方とも、最初の次元はTemperatureを参照し、2番目の次元はTintを参照することに注意してください。 CITemperatureAndTintフィルタが基本的に行うことは、ニュートラル(srcTemperature、srcTint)で定義されたソース白色点からTargetNeutral(dstTemperature、dstTint)で定義されたターゲット白色点にRGB値を適合させ、この行列を入力画像に適用する行列を計算することです(CIColorMatrixフィルターを使用)。 NeutralとTargetNeutralの値が同じ場合、このフィルタを適用した後も画像は変更されません。 iPhotoに関する実装の詳細はわかりませんが、2つのスライドバーが、ソースイメージに追加したい温度と色合いの変更(つまり、ソースとターゲットの温度と色合いの値の違い)を与えると思います。

+0

ありがとう、しかし私はまだ色合いを制御する方法を取得していません。例えば、私は青のイメージを色づける方法を考え出していない。 –

-1

よくCITemperatureAndTintに対して行われた具体例はありませんが、NSImageをオフスクリーンの描画先として使用する方法を示すコードを取得できます。

そのコードのためのURLは、私はあなたがあなたのニーズを満たすためにCITemperatureAndTintを使用するか、既存のコードを修正するためにそれを修正することができると確信してhttps://developer.apple.com/library/mac/#samplecode/Tinted_Image/Introduction/Intro.html#//apple_ref/doc/uid/DTS10000412-Intro-DontLinkElementID_2

です。

これが役に立ちます。