RGB与INT类型的转换
2024-08-26 06:04:41
开发时遇到的问题,设置图层样式时颜色的返回值是uint,一时不知改怎么转换为C#常用的RGB值了。
一番百度,结果如下:
RGB = R + G * 256 + B * 256 * 256
因此可得到如下反推代码:
private Color To_RGB(int color)
{
int b = color / ( * );
int g = (color - b * * ) / ;
int r = color - b * * - g * ;
return Color.FromArgb(r, g, b);
}
网上还有位运算的快速算法:
private uint To_uint(Color color)
{
return (uint)(((uint)color.B << ) | (ushort)(((ushort)color.G << ) | color.R));
}
private Color To_RGB(int color)
{
int r = 0xFF & color;
int g = 0xFF00 & color;
g >>= ;
int b = 0xFF0000 & color;
b >>= ;
return Color.FromArgb(r, g, b);
}
并看不懂,但是能用。
最新文章
- QTableWidget详解(样式、右键菜单、表头塌陷、多选等)
- XML中&; <;>; 单引号&#39; 双引号 "; 报错
- linux常用查看日志命令
- TCP服务器不回复SYN的问题
- LeetCode ";Count of Smaller Number After Self";
- 安装scrapy
- Convert Sorted List to Balanced Binary Search Tree (BST)
- BZOJ 2789: [Poi2012]Letters( BIT )
- flink metric库的使用和自定义metric-reporter
- Redis集群 - Sentinel与RAFT算法
- python--网络编程requests
- Linux命令:pigz多线程压缩工具【转】
- Windsor
- wcf会话、实例化、并发
- Urllib库的基本用法
- java: -source 1.6 中不支持 switch 中存在字符串
- buck型DC-DC分析
- centos关闭sudo的ldap认证
- Java网络编程二--基于UDP的编程
- Oracle数据迁移expdp/impdp