小编ink*_*ibl的帖子

将颜色值从float 0..1转换为byte 0..255

将颜色值从float转换为byte的正确方法是什么?起初我认为b=f*255.0应该这样做,但现在我在想,在这种情况下,只有确切的1.0将转换为255,但0.9999已经254可能不是我想要的...

似乎b=f*256.0会更好,除非它会256在精确的情况下产生不必要的情况1.0.

最后我用这个:

#define F2B(f) ((f) >= 1.0 ? 255 : (int)((f)*256.0))
Run Code Online (Sandbox Code Playgroud)

c language-agnostic colors

19
推荐指数
3
解决办法
3万
查看次数

标签 统计

c ×1

colors ×1

language-agnostic ×1