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