C++将 Graphicsmagick 中颜色的整数转换为十六进制字符串
如何将 0 到 255 之间的整数转换为包含两个字符的字符串,其中包含数字的十六进制表示形式?
输入示例
:180 输出:“B4”
我的目标是在 Graphicsmagick 中设置灰度颜色。因此,以相同的示例为例,我想要以下最终输出:
“#B4B4B4”
,以便我可以使用它来分配颜色:Color(“#B4B4B4”);
应该很容易吧?
How can i convert an integer ranging from 0 to 255 to a string with exactly two chars, containg the hexadecimal representation of the number?
Example
input: 180
output: "B4"
My goal is to set the grayscale color in Graphicsmagick. So, taking the same example i want the following final output:
"#B4B4B4"
so that i can use it for assigning the color: Color("#B4B4B4");
Should be easy, right?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
你不需要。这是一个更简单的方法:
You don't need to. This is an easier way:
您可以使用 C++ 标准库的 IOStreams 部分的本机格式化功能,如下所示:
实时示例。
You can use the native formatting features of the IOStreams part of the C++ Standard Library, like this:
Live example.
使用
printf
并使用%x
格式说明符。或者,strtol
将基数指定为 16。Using
printf
using the%x
format specifier. Alternatively,strtol
specifying the base as 16.