我有一个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文件的实际数据吗?这甚至会起作用吗?有一个更好的方法吗?谢谢!
答案 0 :(得分:0)
你做不到。每通道255个最大值不是任意数字。在标准的24位颜色(每通道8位,红色,绿色和蓝色)中,每个通道可以存储的最大值是8位数,即0到255之间的值。因此尝试没有意义使用大于255的值。
如果该应用程序使图像变暗,则无法为白人做任何事情。没有“超白”。
您可以做的最好的事情就是让其他应用的作者能够以某种方式禁用/减少调光叠加。