本文主要是介绍[C++] 将LONG类型的color值转换为RGB值,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
转换原理:
The calculation is: (65536 * Blue) + (256 * Green) + (Red)
'Convert RGB to LONG:
LONG = B * 65536 + G * 256 + R
'Convert LONG to RGB:
B = LONG \ 65536
G = (LONG - B * 65536) \ 256
R = LONG - B * 65536 - G * 256
转换函数:(在VS2010里面调试通过)
bool ConvertColor_LongToRGB(const __int64 l_color_scr, int& R_des, int& G_des,int& B_des);
bool MainApp::ConvertColor_LongToRGB(const __int64 l_color_scr, int& R_des, int& G_des,int& B_des)
{int color_long_min = 65536;int color_rgb_max = 256;if(l_color_scr<color_long_min){return false;}B_des = l_color_scr / color_long_min;G_des = (l_color_scr - B_des * color_long_min) / color_rgb_max;R_des = l_color_scr - B_des * color_long
这篇关于[C++] 将LONG类型的color值转换为RGB值的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!