NSImage:改变亮度

时间:2012-03-25 09:59:55

标签: objective-c cocoa nsimage brightness

我想更改NSImage“亮度”

我搜索了一下但发现没有什么真正有用的......

那么,最简​​单的Cocoa友好方式是什么?

2 个答案:

答案 0 :(得分:7)

您可以使用核心图像过滤器来完成此操作。但您需要使用CIImage而不是NSImage,因此您需要转换它。以下是CIFilter Reference所有过滤器。看看" CIColorControls "它会让你实现你想要的。

  

<强> CIColorControls

     

调整饱和度,亮度和对比度值。

     

<强>参数

     

inputImage (显示名称为Image的CIImage类)。

     

inputSaturation (NSNumber类,其属性类型为CIAttributeTypeScalar,其显示名称为Saturation。   默认值:1.00最小值:0.00最大值:2.00最小滑块:0.00最大滑块:2.00标识:1.00)

     

inputBrightness (NSNumber类,其属性类型为CIAttributeTypeScalar,其显示名称为Brightness。   默认值:0.00最小值:-1.00最大值:1.00最小滑块:-1.00最大滑块:1.00标识:0.00)

     

inputContrast (一个NSNumber类,其属性类型为CIAttributeTypeScalar,其显示名称为Contrast。   默认值:1.00最小值:0.00最大值:4.00最小滑块:0.00最大滑块:4.00标识:1.00)

答案 1 :(得分:1)

您可以使用coreImage。看一下Core Image Fun House应用程序code