2012-04-01 105 views
2

我試圖通過TextRange.Font.Color.RGB閱讀我的Office應用程序級插件中的文本顏色,該文本應該返回一個int(和)。Font.Color返回令人困惑的值

但返回的值不是我所期望的。

如果我的色彩...

  • 0 0 0 - >我得到0
  • 255 0 0 - >我得到255
  • 147 205 221 - >我得到14536083
  • 146 208 80 - >我得到11916796
  • 等等...

如果這裏的問題?

謝謝

回答

3

轉換價值第一爲十六進制,所以很容易把它以字節爲單位分割,對價值觀的紅色,綠色和藍色:

14536083 = 0xddcd93 = 0xdd, 0xcd, 0x93 = 221, 205, 147 

這是倒退,因爲你的機器是小-endian。

+0

你是絕對正確的,謝謝。但是這個永恆的事情讓我擔心了一點:有沒有其他的Windows機器可以工作在big-endian中?這意味着我的加載項在這些機器上運行錯誤。 – alapeno 2012-04-01 19:38:58

+0

沒問題。如果有這樣一臺機器,那麼它將有不同版本的Office,以不同的方式實現RGB屬性。 – 2012-04-01 19:47:09

+0

謝謝,幫了我很多 – alapeno 2012-04-01 19:48:46