
19.02.2023, 07:33
|
|
Участник форума
Регистрация: 19.01.2017
Сообщений: 130
С нами:
4901705
Репутация:
98
|
|
inline float ByteToFloat(unsigned char value)
{
return static_cast(value) / 255.0f;
}
ImVec4 D3DColorToImVec4(DWORD color)
{
float red = ByteToFloat((color >> 16) & 0xFF);
float green = ByteToFloat((color >> 8) & 0xFF);
float blue = ByteToFloat(color & 0xFF);
float alpha = ByteToFloat(color >> 24);
return ImVec4(red, green, blue, alpha);
}
Usage
DWORD d3dcolor = 0x00FF00FF; // Example color
ImVec4 imvec4 = D3DColorToImVec4(d3dcolor);
2# D3DCOLOR TO IMVEC4
unsigned char FloatToByte(float value)
{
return static_cast(value * 255.0f);
}
DWORD ImVec4ToD3DColor(const ImVec4& color)
{
unsigned char red = FloatToByte(color.x);
unsigned char green = FloatToByte(color.y);
unsigned char blue = FloatToByte(color.z);
unsigned char alpha = FloatToByte(color.w);
return D3DCOLOR_ARGB(alpha, red, green, blue);
}
ImVec4 imvec4(1.0f, 0.0f, 1.0f, 0.5f); //usage
DWORD d3dcolor = ImVec4ToD3DColor(imvec4);
|
|
|