Как рассчитать непрозрачность из прозрачности? - PullRequest
0 голосов
/ 04 октября 2019

Мы вычисляем непрозрачность, используя следующую формулу

float alpha = 1 - transparency ; // transparency is a float value .

Теперь пользователь будет предоставлять прозрачность в формате int ... Какие изменения я должен внести, чтобы получить непрозрачность?

1 Ответ

0 голосов
/ 04 октября 2019

Вам нужно будет знать диапазон возможных альфа-значений в формате с плавающей запятой. Если предположить, что диапазон возможных значений альфа-канала с плавающей запятой находится в диапазоне от 0,0 до 1,0 (включительно), то это будет работать:

#include <cmath>

long lalpha{std::lround(alpha * 255)};

В случае, если верхняя граница диапазона альфа-диапазона с плавающей запятой не равна 1,0, выможет делить альфа-значение с плавающей запятой на верхнюю границу для нормализации в диапазоне от 0,0 до 1,0 включительно.

...