GD 图像库:真彩色图像的颜色分量参数范围
我正在尝试使用 GD(特别是 bgd.dll)从 Windows 下的 C++ 程序输出 TrueColor 图像。 API(或至少是示例)似乎表明 gdResolveColor 的整数 RGB 参数的范围跨越值 0-255。 它是否正确?
我尝试过更高的值并得到了奇怪的结果,但这很可能是由于我自己缺乏理解。
I'm trying to output a TrueColor image using GD (specifically bgd.dll) from a C++ program under windows. The API (or at least the examples) seem to suggest that the range of the integer RGB arguments for gdResolveColor spans the values 0-255. Is this correct?
I've experimented with higher values and gotten strange results but this could well be to due my own lack of understanding.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
那是对的。 真彩色对每种颜色分量(红色、绿色和蓝色)使用一个字节。 字节的范围是 0 到 255,因此 GD 文档中指示了该范围。 因此,可以使用这 3 个字节(24 位)指定 16,777,216(2^24 或 256^3)种不同的颜色。
我不确定 GD 如何处理无效输入(即超过 255 的颜色分量)。 它可能会屏蔽输入,最终您会得到提交的值模 255。
That is correct. True color uses one byte for each color component (red, green and blue). The range of an byte is 0 to 255, hence the range indicated in the GD documentation. So, 16,777,216 (2^24 or 256^3) different colors can be specified using these 3 bytes (24-bits).
I'm not sure how GD handles invalid inputs (i.e. a color component over 255). It likely masks the input and you end up with the your submitted value modulo 255.