好的,所以核心图像滤镜温度和色调有两个输入:中性和目标中性。然而,我的最大问题是它们都是双组分向量,这意味着每个都具有两个数值输入。我预期第一个输入应该是从2500到10000。那么这个向量是什么?
好的,所以核心图像滤镜温度和色调有两个输入:中性和目标中性。然而,我的最大问题是它们都是双组分向量,这意味着每个都具有两个数值输入。我预期第一个输入应该是从2500到10000。那么这个向量是什么?
TargetNeutral
)保持不变(6500, 0),并允许用户调整其他向量(Neutral
)。通过这种安排,用户将选择原始图像的感知色温和色调偏移量。(您也可以选择保持Neutral
向量不变,并允许用户微调Target Neutral
向量;这可能更适用于用户希望艺术性地调整白平衡的情况,但所选值与结果图像之间的相关性不太明显)。@warrenm非常详细地说了,我会将代码添加到需要直接使用它的人那里!
温度:
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)
])