Unity C# 32位颜色转换565颜色

 public Color32 color32;//声明一个32位颜色
 public void Test()
  {
		int r = (int)color32.r;
		int g = (int)color32.g;
		int b = (int)color32.b;
		RGBTo565(r, g, b);
}

private void RGBTo565(int r,int g,int b)
{																											//颜色值是0-255
		string r_binary = IntToBinary(r).Substring(0,5);//r的值转换二进制   取前面5位
		string g_binary = IntToBinary(g).Substring(0,6);//g的值转换二进制   取前面6位
		string b_binary = IntToBinary(b).Substring(0,5);//b的值转换二进制   取前面5位
		string rgb = r_binary + g_binary + b_binary;//合并
		 string value=	string.Format("{0:X}", System.Convert.ToInt32(rgb, 2));//先转整形 再转16进制
		Debug.Log("565颜色为:"+value);
}

private string IntToBinary(int value)
        {
			int remainder;
			string binary = string.Empty;

			while (value > 0)
			{
				remainder = value % 2;
				value /= 2;
				binary = remainder.ToString() + binary;
			}
			
            while (binary.Length<8)
            {
				binary += "0";
			}
			Debug.Log($"Binary:  {binary}");
			return binary;
		}
在这里插入代码片
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值