【发布时间】: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