我有调用 C dll 的 ac# Windows .Net UI。dll 对一组数据进行一些计算,并提供一种需要传递给 UI 的颜色。
颜色不是奇异的,只有大约 10 种不同的颜色会传递给 UI(例如,红色、白色、绿色、洋红色、黄色等)。是否有一些 C 和 C# 都可以使用的标准名称,所以我可以避免编写更多代码?
颜色值是代码中的整数。只有当您使用设计器或类似 .NET System.Drawing.Color 类型的类型时,它才有名称。当您在 .NET 和 C 之间进行互操作时,除了 int 之外,没有可以在两端使用的类型。
颜色值以 ARGB 格式编码,Alpha、Red、Green 和 Blue 各一个字节。所以“红色”是值 0xffff0000,“白色”是 0xffffffff,“绿色”是 0xff00ff00,等等。希望你能看到模式。int value = Color.Red.ToArgb();
如果没有,那么您可以通过编写一个用于获取整数值的小 C# Winforms 程序来获取颜色值。也可以在调试器中使用,因此您可以直接在快速监视窗口中键入表达式。