我正在使用momentics IDE(原生SDK)开发BlackBerry 10移动应用程序。
我想使用C ++更改容器的背景颜色。但不幸的是,与此[link]相关,您只能将其定义如下:
**Creating a color in C++:**
Color c1 = Color::fromRGBA(0.5f, 1.0f, 0.2f, 0.8f);
Color c2 = Color::fromARGB(0xff996633);
对于颜色,我想使用十六进制格式(“#xxxxxx”)。任何人都可以指导我吗?
答案 0 :(得分:2)
Color c2 = Color::fromARGB(0xff996633);
正在使用0x is c++ representation of a hex code
的十六进制。 ff是A组分,99是R,66是G,33是B
因此,如果您想使用没有alpha
的十六进制值#000099然后就是
Color::fromARGB(0x00000099)
以下代码会将字符串转换为十六进制值,但是您需要先从字符串中删除#,然后才能将字符串传递给缓冲区对象
#include <iostream>
#include <sstream>
int main() {
std::string hexString("#ffffff");
hexString.erase(hexString.begin());
std::istringstream buffer(hexString);
int value;
buffer >> std::hex >> value;
std::cout << std::hex << value;
return 0;
}