我从第三方系统收到OLE颜色,我需要将其转换为System.Drawing.Color
。
在完整的.Net Framework上,我可以使用ColorTranslator.FromOle(int oleColor)
执行此转换,但Compact框架中不存在此转换。知道如何进行这种转换吗?
由于
以下是答案。
int oleColor = 16711680; // Blue
Color argbColor;
argbColor = Color.FromArgb((byte)(oleColor & 0xff), (byte)((oleColor >> 8) & 0xff), (byte)((oleColor >> 0x10) & 0xff));
答案 0 :(得分:1)
您可以下载Reflector的手性版本并检查ColorTranslator.FromOle方法的代码。
基本上,有一个很大的开关案例块,每个案例都使用Color.FromKnownColor方法返回一个Color结构。