16进制 <--转换--> 10进制(RGB)
typedef unsigned long ULONG; // HexToDecimal : 16机制 转 10进制 // ulHexNum : 输入16进制数(如:ulHexNum = 0x123456;) // pulDeciNumR, pulDeciNumG, pulDeciNumB : 输出10制数 void HexToDecimal(ULONG ulHexNum, ULONG *pulDeciNumR, ULONG *pulDeciNumG, ULONG *pulDeciNumB) { *pulDeciNumR = ulHexNum & 0x00FF0000; *pulDeciNumR = *pulDeciNumR >> 16; *pulDeciNumG = ulHexNum & 0x0000FF00; *pulDeciNumG = *pulDeciNumG >> 8; *pulDeciNumB = ulHexNum & 0x000000FF; return; } // DecimalToHex : 10机制 转 16进制 // ulDeciNumR, ulDeciNumG, ulDeciNumB : 输入10进制数 // ulHexNum : 输出16进制数 void DecimalToHex(ULONG *ulHexNum, ULONG ulDeciNumR, ULONG ulDeciNumG, ULONG ulDeciNumB) { ULONG ulDeciNumRHex = (ulDeciNumR << 16) & 0x00FF0000; ULONG ulDeciNumGHex = (ulDeciNumG << 8) & 0x0000FF00; ULONG ulDeciNumBHex = ulDeciNumB & 0x000000FF; *ulHexNum = ulDeciNumRHex + ulDeciNumGHex + ulDeciNumBHex; }
posted on 2012-10-19 15:02 xuejianhui 阅读(720) 评论(0) 编辑 收藏 举报