如何从透明度计算不透明度?

How to calculate opacity from transparency?

本文关键字:不透明度 计算 透明度      更新时间:2023-10-16

我们使用以下公式计算不透明度

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

现在用户将以 int 格式提供透明度...... 我应该进行哪些更改才能获得不透明度?

您需要知道浮点格式中可能的 alpha 值的范围。假设可能的浮点 alpha 值的范围介于 0.0 和 1.0(含(之间,那么这将起作用:

#include <cmath>
long lalpha{std::lround(alpha * 255)};

如果浮点 alpha 范围的上限不等于 1.0,则可以将浮点 alpha 值除以上限,以规范化为 0.0 到 1.0(含 0.0 和 1.0(的范围。