Delphi Windows.GetRValue接受基数,但TColor为整数
我需要向接受基数的GetRValue传递一个颜色。但是,TColor是整数,有时会出现范围检查错误。如果颜色为负值,我是否应该将其修剪为0?负值表示您正在将特殊颜色值(如Delphi Windows.GetRValue接受基数,但TColor为整数,delphi,Delphi,我需要向接受基数的GetRValue传递一个颜色。但是,TColor是整数,有时会出现范围检查错误。如果颜色为负值,我是否应该将其修剪为0?负值表示您正在将特殊颜色值(如clWindow传递给GetRValue)。那是个错误。您需要先调用ColorToRGB,才能转换为真正的RGB值。存储在32位整数中的真实RGB值永远不会为负 R := GetRValue(ColorToRGB(Color)); 另一种解释是,您正在将ARGB值放入TColor中。这也是一个错误,因为TColor不包含alp
clWindow
传递给GetRValue
)。那是个错误。您需要先调用ColorToRGB
,才能转换为真正的RGB值。存储在32位整数中的真实RGB值永远不会为负
R := GetRValue(ColorToRGB(Color));
另一种解释是,您正在将ARGB值放入TColor
中。这也是一个错误,因为TColor
不包含alpha通道