Мне нужно разместить надписи с прозрачным фоном над UIImage с переменным содержимым. Читаемость будет значительно различаться в зависимости от соотношения между цветом текста надписи и цветом / яркостью области изображения, отображаемой под надписью. Поскольку изображение будет постоянно меняться, цвет текста метки должен меняться синхронно.
Я нашел несколько методик для определения цвета , воспринимаемой яркости и т. Д. Одного пикселя. Однако мне нужно довольно быстро (при загрузке вида) определить приблизительный воспринимаемый цвет / яркость области UIImage под рамкой UILabel. Я предполагаю, что мне также понадобится измерить альфа, потому что один и тот же цвет / яркость при разных значениях альфа выглядят по-разному.
Есть ли способ рассчитать такое значение для области? Буду ли я просто суммировать пиксели? Если дело доходит до этого, есть ли алгоритм для этого?
Я подумал о двух возможных подходах:
- Выполните некоторые операции «складывания», то есть объедините пиксели от одной половины области до другой половины. Затем повторите, пока я не получу единственное значение. Будет ли это практичным? Как бы вы логически комбинировали пиксели, чтобы усреднить их воспринимаемый цвет / яркость?
- Образец статистически значимого числа пикселей в области, а затем объединить их (как-то), чтобы получить грубую меру.
Я думаю, что в наши дни эта проблема часто возникает из-за того, что люди очень часто настраивают фоны. Похоже, что-то, что стоило бы моего времени, чтобы выделить категорию или класс, чтобы справиться с этим, а затем поделиться им.