将浮点颜色通道(R、G、B)转换为字节值
Convert float color channels (R, G, B) to byte value
我实现了一个函数,该函数将浮点颜色通道(R、G、B)转换为字节值。
例如:0.0f->01.0f->255
unsigned char RGBImage::convertColorChannel(float f) {
}
如何在C++中获得此结果?
return f * 255;
,由于返回类型的原因,从float
到unsigned char
的强制转换是隐式的。
return (f * 255) + 0.5;
来正确地四舍五入该值(因为您正在失去精度),但请记住,这是一个额外的计算,会对性能造成影响。因此,如果你正在转换整个高分辨率图像,正如类名所暗示的那样,那么额外的计算时间可能会增加。
琐碎(如果你不介意C风格的演员阵容):
return (unsigned char)(f * 255);
请注意,这不会检查f
是否正确地在范围[0.0 - 1.0]
中
相关文章:
- 将Integer转换为4字节的unsined字符矢量(按大端字节顺序)
- 将字节数组转换为带有字节序问题的指针
- 使用 stbi_write_png,如何将 0 和 1 的矩形字节数组转换为单色 png 文件?
- 如何在连接器 C++ 中将原始字节转换为字符串
- 如何在C++(Arduino)中将浮点数组转换为字节数组
- 将字节数组转换为多维数组
- C++如何将字符数组转换为字节向量(向量<byte>)
- 如何在C++中将字节向量(std::vector<uint8_t>)转换为不同的uint32_t,uint16_t和uint8_t变量
- 将字符串转换为无符号字符数组/字节数组
- 将(N 个字节)无符号字符指针转换为浮点数和双 C++
- 将以 null 结尾的字节字符串转换为原始字符串文本
- 正在转换结构数据的字节序
- 如何将 CString 转换为字节 [] 数组?
- 一种将 Dart 中的字节数据转换为 C++ 中的无符号字符*的有效方法?
- 使用 ESP8266/8285 将字符串从 Web 服务器转换为字节数组
- 编译时将字符*转换为字节
- 将字节数组转换为对象C++ |C++中的 C# 位转换器
- C++转换字节
- 将整型转换字节中的字节更改为整数
- c++从字符串化字节转换字节数组