1

我从第 3 方系统收到 OLE 颜色,我需要将其转换为System.Drawing.Color.

在我可以使用的完整 .Net 框架上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));
4

1 回答 1

1

您可以下载Reflector的 tiral 版本并检查 ColorTranslator.FromOle 方法的代码。

基本上,有一个大的 switch case 块,其中每个 case 返回一个带有 Color.FromKnownColor 方法的 Color 结构。

截屏

于 2013-06-26T14:05:33.697 回答