精易论坛

标题: 颜色加深_优化版(深色不会变暗) [打印本页]

作者: 李泽勇2    时间: 2025-6-12 11:53
标题: 颜色加深_优化版(深色不会变暗)
本帖最后由 李泽勇2 于 2025-6-12 11:55 编辑

颜色加深_优化版(深色不会变暗)
  
子程序名返回值类型公开备 注
颜色加深_优化版整数型 
参数名类 型参考可空数组备 注
原颜色值整数型
加深系数小数型推荐范围0-1(0=不变,1=最深色)
变量名类 型静态数组备 注
红分量整数型 
绿分量整数型 
蓝分量整数型 
新红整数型 
新绿整数型 
新蓝整数型 
亮度小数型 
' 分解RGB分量
红分量 = 原颜色值 \ 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整数型
如果 (值1 < 值2)
返回 (值1)
返回 (值2)

作者: renhe2018    时间: 2025-6-12 14:12
这个实用性很强啊。
作者: kyo9766    时间: 2025-6-12 16:03
简单实用,感谢分享
作者: ﹏最后的拥抱へ    时间: 2025-6-12 16:53
感谢分享
作者: 胖子葛格    时间: 2025-6-12 18:12
感谢大神分享~!
作者: ljx111    时间: 2025-6-12 18:34
感谢分享
作者: qqmqqg    时间: 2025-6-12 19:54
666666666666666666666
作者: 亿万    时间: 2025-6-12 21:13
感谢分享
作者: 豆豆灰常开心    时间: 2025-6-13 07:18
感谢您对论坛的支持!
作者: 查过    时间: 2025-6-13 07:22
下个学习一下
作者: year1970    时间: 2025-6-13 07:51
感谢分享
作者: 一指温柔    时间: 2025-6-13 09:20
感谢分享
作者: bianyuan456    时间: 2025-6-13 12:47
已经顶贴,感谢您对论坛的支持!
作者: ferrisy    时间: 2025-6-13 20:06
#在这里快速回支持开源~!感谢分享复#
作者: 豆豆灰常开心    时间: 2025-6-14 07:14
感谢发布原创作品,精易因你更精彩!6666666666666
作者: 查过    时间: 2025-6-14 07:18
感谢楼主分享!
作者: wh1234567    时间: 2025-6-14 19:06
感谢分享
作者: wyd134    时间: 2025-6-14 19:08
感谢分享
作者: nywl2008    时间: 2025-6-18 12:36
感谢大神分享
作者: jaicke123    时间: 2025-6-19 08:58
        感谢分享,很给力!~




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4