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

本文关键字:System Drawing Color 转换 GTK# 颜色 | 更新日期: 2023-09-27 18:34:31

我试图将从GTk#颜色对话框中选择的颜色转换为系统。绘图.颜色。我试过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());

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

我做错了什么?

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

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

基本上,您需要做的是将您的数字转换为在255方面相等的数字,而不是65535

目前你有27091/65535.

通过除以这个分数,你得到

它的等效小数,通过乘以 255,你然后得到分数 255

因此

(colorValue / 65535.0) * 255

这可能需要转换为整数

IDEONE 示例