本案例的目的是理解如何用Metal实现基于色温调整白平衡效果滤镜,主要就是消除或减轻日光下偏蓝和白炽灯下偏黄,简单讲把应该是白色的调成白色或接近白色,不使其严重偏色;
Demo
实操代码
// 白平衡滤镜
let filter = C7WhiteBalance.init(temperature: 4000, tint: -200)
// 方案1:
ImageView.image = try? BoxxIO(element: originImage, filters: [filter, filter2, filter3]).output()
// 方案2:
ImageView.image = originImage.filtering(filter, filter2, filter3)
// 方案3:
ImageView.image = originImage ->> filter ->> filter2 ->> filter3
效果对比图
- 不同参数下效果
temperature: 4000, tint: -200 | temperature: 4000, tint: 0 | temperature: 4000, tint: 200 |
---|---|---|
![]() |
![]() |
![]() |
temperature: 7000, tint: -200 | temperature: 7000, tint: 0 | temperature: 7000, tint: 100 |