UIImage的一部分有多亮?

时间:2017-11-15 13:44:11

标签: ios image-processing uiimage

UIImageView的部分标签上添加标签。如果图像太亮白色文字无法读取。有什么简单的方法来检测图像的亮部分吗?

1 个答案:

答案 0 :(得分:0)

至少对于处理器而言,没有“简单”的方法。对于开发人员来说,最容易访问图像数据的原始RGBA缓冲区并找出平均颜色。然后将该颜色转换为HSV并检查饱和度以确定亮度。你甚至可以使用GPU来让事情变得更快; openGL应该是完美的。

但在你走得太远之前:结果很可能不是你想要的。无论它们是什么颜色,总有一些情况会使你的文字难以辨认。考虑您有一个白色文本,一旦图像太亮就会将其转换为黑色。但随后图像纯粹由黑白条纹组成,因此每个奇数字母都是白色条纹,其余字母是黑色。文字根本不可读。

我建议您尝试使用笔划,阴影或添加背景。例如,您可以在标签上使用白色文本,并使用半透明黑色背景颜色和一些图层角半径。除了最亮的图像和文本外,所有背景几乎都不可见。

相关问题