2012-10-13 28 views
0

我有一個調用C dll的c#Windows .Net UI。該DLL會對一組數據進行一些計算,並提供需要傳遞給用戶界面的顏色。在c#和c之間使用常見的顏色值dll

顏色不是奇特的,只有大約10種不同的顏色,它會通過 到UI(例如,紅色,白色,綠色,紅色,黃色等)。是否有一些C和C#都可以使用的標準名稱,所以我可以避免編寫更多的代碼?

+0

C DLL正在被其他組件使用,或者您可以根據需要更改它? – Ikaso

+0

爲什麼不只是C dll返回RGB?或者,假設你只使用了幾個,讓它返回一個索引,然後在C#中你有一個包含實際顏色的數組,並使用返回的索引選擇正確的數組。這是太多的代碼? – Theraot

回答

4

顏色值是代碼中的整數。它僅在使用設計器或.NET System.Drawing.Color類型等類型時纔有名稱。當你在.NET和C之間進行互操作時,你可以使用除int之外的其他類型的工具。

顏色值以ARGB格式編碼,Alpha,Red,Green和Blue各一個字節。所以「紅色」是值0xffff0000,「白色」是0xffffffff,「綠色」是0xff00ff00,等等。希望你看到這種模式。如果沒有,那麼你可以通過編寫一個使用int value = Color.Red.ToArgb();獲得整數值的C#Winforms程序來獲取顏色值。也可以在調試器中使用,以便您可以在快速監視窗口中直接鍵入表達式。