|
颜色加深_优化版 | 整数型 | |
|
原颜色值 | 整数型 | | | |
加深系数 | 小数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 |
红分量 | 整数型 | | |
绿分量 | 整数型 | | |
蓝分量 | 整数型 | | |
新红 | 整数型 | | |
新绿 | 整数型 | | |
新蓝 | 整数型 | | |
亮度 | 小数型 | | |
红分量 = 原颜色值 \ 65536
绿分量 = 原颜色值 \ 256 % 256
蓝分量 = 原颜色值 % 256
如果真 (红分量 = 0
且 绿分量 = 0
且 蓝分量 = 0
)
返回 (原颜色值
)
如果真 (红分量 = 255
且 绿分量 = 255
且 蓝分量 = 255
)
返回 (原颜色值
)
亮度
= (红分量 × 0.299 + 绿分量 × 0.587 + 蓝分量 × 0.114
) ÷ 255
新红 = 红分量 -
取整 ( (255 - 红分量
) × 亮度 × 加深系数
)新绿 = 绿分量 -
取整 ( (255 - 绿分量
) × 亮度 × 加深系数
)新蓝 = 蓝分量 -
取整 ( (255 - 蓝分量
) × 亮度 × 加深系数
) 新红 =
取最大值 (0,
取最小值 (255, 新红
))
新绿 =
取最大值 (0,
取最小值 (255, 新绿
))
新蓝 =
取最大值 (0,
取最小值 (255, 新蓝
))
返回 (新红 × 65536 + 新绿 × 256 + 新蓝
)
如果 (值1 > 值2
)
返回 (值1
)
返回 (值2
)
如果 (值1 < 值2
)
返回 (值1
)
返回 (值2
)