iPhone:如何确定UIImage区域的平均亮/暗

时间:2010-02-23 21:21:20

标签: iphone colors uiimage uilabel

我需要在可变内容的UIImage上放置透明背景的标签。可读性将根据标签文本的颜色与标签下显示的图像区域的颜色/亮度之间的关系而有很大差异。由于图像会不断变化,标签文本的颜色需要同步变化。

我找到了几种确定单个像素的colorperceived luminosity等的技术。但是,我需要相当快速地(在视图加载时)确定UILabel框架下UIImage区域的粗略感知颜色/亮度。我认为我还需要测量alpha,因为相同的颜色/亮度在不同的alpha值下看起来不同。

有没有办法计算某个区域的这样的值?我会简化为像素总和吗?如果是这样,是否有算法来实现这一目标?

我想到了两种可能的方法:

  1. 执行一些“折叠”操作,即将来自该区域的一半的像素组合到另一半。然后重复,直到我得到一个值。这是否实用?您如何在逻辑上将像素组合起来以平均其感知的颜色/亮度?
  2. 在区域中对统计上显着数量的像素进行采样,然后将它们组合(以某种方式)以获得粗略的度量。
  3. 我认为现在这个问题出现了很多,因为有人发现自定义背景。看起来像是值得花时间敲打一个类别或类来处理它然后分享它的东西。

1 个答案:

答案 0 :(得分:1)

如何简单地在黑暗和浅色背景上显示您的文字?

这是在其他必须在内容未知的背景上显示文字的情况下处理的方式(例如,带有字幕的电影)。