Я разрабатываю мобильное приложение BlackBerry 10, используя IDE-компонент моментальных действий (нативный SDK).
Я хочу изменить цвет фона контейнера с помощью C ++. Но, к сожалению, в связи с этим [ссылка на сайт], вы можете определить его только так:
**Creating a color in C++:**
Color c1 = Color::fromRGBA(0.5f, 1.0f, 0.2f, 0.8f);
Color c2 = Color::fromARGB(0xff996633);
Для цвета я хочу использовать шестнадцатеричный формат («#xxxxxx»). Кто-нибудь может мне помочь в этом?
Color c2 = Color::fromARGB(0xff996633);
использует hex 0x is c++ representation of a hex code
, ff является компонентом A, 99 является R, 66 является G и 33 является B
Так что если вы хотите использовать шестнадцатеричное значение # 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;
}
Других решений пока нет …