我需要将颜色传递给接受红衣主教的GetRValue。但是,TColor是整数,有时会出现范围检查错误。如果是负面,我应该将我的颜色调整为0吗?
答案 0 :(得分:13)
负值表示您将特殊颜色值(例如clWindow
)传递给GetRValue
。那是个错误。您需要先调用ColorToRGB
才能转换为真正的RGB值。存储在32位整数中的真实RGB值永远不会为负。
R := GetRValue(ColorToRGB(Color));
另一个解释是您将ARGB值放入TColor
。这也是一个错误,因为TColor
不包含alpha通道。