本帖最后由 李泽勇2 于 2025-6-12 11:55 编辑
颜色加深_优化版(深色不会变暗)
|
颜色加深_优化版 | 整数型 | | |
原颜色值 | 整数型 | | | | 加深系数 | 小数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 红分量 | 整数型 | | | 绿分量 | 整数型 | | | 蓝分量 | 整数型 | | | 新红 | 整数型 | | | 新绿 | 整数型 | | | 新蓝 | 整数型 | | | 亮度 | 小数型 | | |
红分量 = 原颜色值 \ 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 ) |