C# (Winform) 颜色选择器的调用,以及RGB颜色与UInt颜色的转换
2018-03-14 19:43
1561 查看
废话不多说,颜色选择器就是ColorDialog,直接从工具栏拖到窗体上。
调用颜色选择器和调用窗体一样,我这里通过一个Button的点击事件触发,选择颜色后改变了panel的颜色:
ColorDialog colorDia = new ColorDialog(); if (colorDia.ShowDialog() == DialogResult.OK) { //获取所选择的颜色 Color colorChoosed = colorDia.Color; //改变panel的背景色 flowLayoutPanel1.BackColor = colorChoosed; }
这个功能很容易实现吧。
但是在上位机程序编写过程中有的空间的属性设置可能不接受RGB颜色,需要转换成int型,那么可以通过以下代码实现:
RGB颜色转成UInt(colorChoosed 表示RGB形式的颜色)
int r = colorChoosed.R; int g = colorChoosed.G; int b = colorChoosed.B; UInt32 colorConverted = (uint)(((uint)b << 16) | (ushort)(((ushort)g << 8) | r));
UInt转成RGB颜色(colorChoosed 表示UInt形式的颜色)
int R = 0xFF & colorChoosed ; int G = 0xFF00 & colorChoosed ; G >>= 8; int B = 0xFF0000 & colorChoosed ; B >>= 16; Color colorConverted = Color.FromArgb(R, G, B);
相关文章推荐
- C# 调用颜色的RGB值_RGB颜色转换十六进制颜色
- C# 调用颜色的RGB值_RGB颜色转换十六进制颜色
- C# 调用颜色的RGB值_RGB颜色转换十六进制颜色
- C# 调用颜色的RGB值_RGB颜色转换十六进制颜色
- C# RGB与16进制颜色转换方法
- C# RGB颜色转换为16进制
- C#中RGB颜色值与整型值的转换
- JavaScript随机生成颜色以及十六进制颜色 与RGB颜色值的相互转换
- 关于C#Winform线程调用窗体的使用方法以及窗体的单一显示
- 关于C#Winform线程调用窗体的使用方法以及窗体的单一显示
- 【C#】RGB,CMYK,HSB各种颜色表示的转换(转)
- C# RGB颜色与HSL颜色的转换与HSL颜色的应用
- C# RGB与16进制颜色转换方法
- C# RGB颜色与HSL颜色的转换与HSL颜色的应用
- C#中RGB颜色值与整型值的转换
- 【C#】RGB,CMYK,HSB各种颜色表示的转换
- 【C#/算法】RGB、HSV、HSL颜色模型的互相转换
- C# WinForm窗体控件Panel修改边框颜色以及边框宽度方法
- C#中将RGB颜色转换为Color对象
- C#RGB颜色与16进制之间的转换