2012-03-25 102 views
0

我想更改NSImage“亮度”NSImage:更改亮度

我已经搜索了一下四周,但我什么也没找到真正有用的...

那么,什么是最简单的,可可友好的方式来做到这一点?

+0

愚蠢的方式做这将是提高每个像素(不会超过255的RGB值)但我敢打赌有石英过滤器来做到这一点。 – Ali 2012-03-25 10:09:11

+1

用更多白平衡给图像着色? http://stackoverflow.com/questions/1413135/tinting-a-grayscale-nsimage-or-ciimage – amleszk 2012-03-25 11:03:24

回答

7

您可以使用核心图像滤镜。但是您需要使用CIImage而不是NSImage,因此您需要将其转换。这里是所有过滤器的CIFilter Reference。看看“CIColorControls”它会让你实现你想要的。

CIColorControls

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

参数

inputImage的(A CIImage类,其显示名称是图像)。

inputSaturation(一个NSNumber类,其属性类型是CIAttributeTypeScalar和显示名称是饱和 默认值:1.00最小:0.00最大:2.00滑块最小:0.00滑块最大:2.00身份:1.00)

inputBrightness(一个NSNumber类,其属性类型是CIAttributeTypeScalar和显示名称是亮度 默认值:0.00最小:-1.00最大:1.00最小滑块:-1.00滑块最大:1.00身份:0.00)

inputContrast(属性类型为CIAttributeTypeScalar,显示名称为Contrast的NSNumber类。 默认值:1.00最低:0.00最高:4.00滑块最低:0.00滑块最大:4.00身份:1.00)

+0

非常感谢!我会看看它... – 2012-03-25 16:30:09

+0

贾斯汀 - 他们是否改变了文档?上面列出的内容与文档中的内容不同,IE没有列出最小值和最大值。或者你从别的地方得到了这些? – 2013-01-29 19:35:58

+0

@CoDEFRo我从Apple开发者库中从链接获取它到参考。他们改变了文件。 – 2013-01-29 20:09:12

1

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

+0

非常感谢!我会看看它... – 2012-03-25 16:30:00