2013-06-26 89 views
1

我從第三方系統接收到OLE顏色,我需要將其轉換爲System.Drawing.Color在.Net精簡框架中將OLE顏色轉換爲System.Drawing.Color

在完整的.NET框架我可以使用ColorTranslator.FromOle(int oleColor)

執行此轉換然而,這並不在緊湊型框架存在。任何想法如何執行此轉換?

感謝


下面就是答案。

int oleColor = 16711680; // Blue 
Color argbColor; 

argbColor = Color.FromArgb((byte)(oleColor & 0xff), (byte)((oleColor >> 8) & 0xff), (byte)((oleColor >> 0x10) & 0xff)); 
+0

看一看:你可以從OLE_COLOR 4個字節,並使用獨立的字節使色Color.FromArgb http://msdn.microsoft.com/en-us/library/dd946077%28v=office .12%29.aspx – Naresh

+0

很酷。這讓我走上了正軌。 – CathalMF

+0

太棒了。玩的開心。 – Naresh

回答

1

你可以下載Reflector的tiral版本,檢查ColorTranslator.FromOle方法的代碼。

基本上,有一個大開關大小寫塊,其中每個大小寫使用Color.FromKnownColor方法返回Color結構。

screenshot

+0

好吧,不好給一看。 – CathalMF

相關問題