【问题标题】:Creating artificially higher colors / color-spaces创建人工更高的颜色/颜色空间
【发布时间】:2013-09-08 02:09:36
【问题描述】:

我有一个 iOS 应用程序,它可以制作用于 AppStore 上其他人的应用程序的图像,该应用程序允许用户上传图像。

问题是他们在具有 10% 可见度(alpha = 0.1)(浅浅灰色)的黑色图像上进行叠加......所以如果我希望图像显示为白色,我会创建一个空白图像对于 RGB(又名 1.0f、1.0f、1.0f)来说,这是 255,255,255,但是一旦上传,它们的浅灰色叠加层就会出现在它上面,并且 iPhone 显示器在渲染时会合并像素,其中 90% 的白色和 10% 的黑色。所以我实际上得到的是浅灰色而不是白色......所以我在想我是否可以创建一个超级白色(图像文件的实际数据表明任何给定像素的颜色是 300、300、300当前最大值(255,255,255)..然后当iOS尝试渲染它时,它将执行覆盖算法并将黑色覆盖10%(从RGB值中减去......但最终值(虽然小于300,300,300会仍然高于 255,255,255 并显示为白色。)

我感觉这将涉及编辑 png 文件的实际数据?这甚至会起作用吗?有一个更好的方法吗?谢谢!

【问题讨论】:

  • 我不太明白您要通过“覆盖”实现什么 - 您是否要取消它以使其不再存在?另外,叠加层是覆盖整个图像还是边框?
  • @Rorz 它覆盖了整个图像,我正在尝试将其取消...我可以通过使蓝色 10% 更白,这样当 10% 黑色叠加层被添加到它们取消...但我不能用白色取消它,我只会得到浅灰色。

标签: ios objective-c image image-processing colors


【解决方案1】:

你不能。每个通道最多 255 个不是任意数字。在标准的 24 位颜色(每个通道 8 位,红色、绿色和蓝色)中,您可以为每个通道存储的最大值是一个 8 位数字,即 0 到 255 之间的值。所以尝试没有意义使用大于 255 的值。

如果该应用程序使图像变暗,您将无法为白人做任何事情。没有“超白”。

您能做的最好的事情就是让其他应用的作者提供以某种方式禁用/减少调光覆盖的功能。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-16
    • 2012-12-29
    • 1970-01-01
    • 2018-07-24
    • 1970-01-01
    • 2010-10-22
    相关资源
    最近更新 更多