9

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

4

3 に答える 3

18
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]];    

このウィキペディアのリンクで、色温度の値によってどの色が得られるかを確認できます。

参考のため

CITemperatureAndTint には、Image、Neutral、および TargetNeutral の 3 つの入力パラメーターがあります。Neutral と TargetNeutral は 2D CIVector タイプであり、両方とも、最初の次元は温度を参照し、2 番目の次元は色合いを参照することに注意してください。CITemperatureAndTint フィルターが基本的に行うことは、Neutral (srcTemperature、srcTint) によって定義されるソース ホワイト ポイントから TargetNeutral (dstTemperature、dstTint) によって定義されるターゲット ホワイト ポイントに RGB 値を適応させるマトリックスを計算し、このマトリックスを入力画像に適用することです。 (CIColorMatrix フィルターを使用)。Neutral と TargetNeutral が同じ値の場合、このフィルターを適用しても画像は変化しません。iPhoto の実装の詳細はわかりませんが、2 つのスライド バーで色温度と色合いを変更できると思います (つまり、

于 2012-07-13T05:49:39.293 に答える
0

多分それはあなたを助けることができます@Sherwin Zadeh

温度:

var value: CGFloat = 0  // Min: -3000, Max: 3000

return image.applyingFilter("CITemperatureAndTint", parameters: [
             "inputNeutral": CIVector.init(x: value + 6500, y: 0),
             "inputTargetNeutral": CIVector.init(x: 6500, y: 0)
         ])

色合い:

var value: CGFloat = 0  // Min: -100, Max: 100

return image.applyingFilter("CITemperatureAndTint", parameters: [
            "inputNeutral": CIVector.init(x: 6500, y: value),
            "inputTargetNeutral": CIVector.init(x: 6500, y: 0)
        ])

于 2021-07-25T15:20:58.780 に答える
-1

CITemperatureAndTint 用に作成された特定の例はありませんが、NSImage を画面外の描画先として使用する方法を示すコードを取得できます。

そのコードの URL はhttps://developer.apple.com/library/mac/#samplecode/Tinted_Image/Introduction/Intro.html#//apple_ref/doc/uid/DTS10000412-Intro-DontLinkElementID_2です。

CITemperatureAndTint を使用するように変更するか、ニーズに合わせて既存のコードを変更できると確信しています。

お役に立てれば。

于 2012-07-13T05:31:48.227 に答える