将GTK#Color转换为System.Drawing.Color

时间:2014-12-18 07:33:57

标签: c# colors mono gtk gtk#

我试图将从GTk#颜色对话框中选择的颜色转换为system.Drawing.Color。 我试过了System.Drawing.Color.fromargb(mygtkcolor.Red,mygtkColor.Green,mygtkColor.Blue);

mygtkColor类是http://docs.go-mono.com/?link=T%3aGdk.Color

但它显示一个错误,说明颜色成分的值应小于255。

还尝试System.Drawing.ColorTranslator.fromHtml(mygtkColor.getHashValue().ToString());

这次没有错误,但显示的颜色不正确。

我做错了什么?

1 个答案:

答案 0 :(得分:2)

如果U2744SNOWFLAKE希望在这方面添加答案,那么我很乐意删除,

基本上您需要做的是将您的号码转换为255而不是65535

的相等分数

您有27091/65535

通过在这个分数中进行除法得到它的等效小数,通过将其乘以255,然后以255为单位得到分数

因此

(colorValue / 65535.0) * 255

这可能需要转换为整数

IDEONE example