【问题标题】:NSImage : Change brightnessNSImage:改变亮度
【发布时间】:2012-03-25 09:59:54
【问题描述】:

我想更改NSImage“亮度”

我已经搜索了一下,但没有发现任何真正有用的...

那么,最简​​单、对 Cocoa 友好的方法是什么?

【问题讨论】:

  • 愚蠢的做法是增加每个像素的 rgb 值(不超过 255),但我敢打赌有石英滤镜可以做到这一点。
  • 用更多的白平衡给图像着色? stackoverflow.com/questions/1413135/…

标签: objective-c cocoa nsimage brightness


【解决方案1】:

您可以使用 Core Image Filters 做到这一点。但是您需要使用CIImage 而不是NSImage,因此您需要对其进行转换。这是带有所有过滤器的CIFilter Reference。看看“CIColorControls”,它会让你实现你想要的。

CIColorControls

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

参数

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

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

inputBrightness(属性类型为 CIAttributeTypeScalar 且显示名称为 Brightness 的 NSNumber 类。 默认值: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)

【讨论】:

  • 贾斯汀 - 他们是否更改了文档?您上面列出的内容与文档中的内容不同,IE 它没有列出最小值和最大值。还是你从其他地方得到的?
  • @CoDEFRo 我从 Apple 开发人员库中从链接到参考中获取它。他们更改了文档。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-17
    • 1970-01-01
    • 1970-01-01
    • 2021-11-09
    相关资源
    最近更新 更多