feat(data): 添加随机颜色生成功能并重构发光滤镜默认配置 - 引入 grand 包用于生成随机数 - 将 GlowFilterDefault 常量改为 GetDef() 函数,实现动态配置 - 修改默认发光滤镜参数:Alpha从0.8改为0.1,BlurX/BlurY从10改为8, Quality从2改为1,Level从1改为2 - 新增 RandomRGBToUint32() 函数生成随机RGB颜色并转换为uint32格式 - 在GetDef()函数中使用随机颜色替代固定颜色值 refactor(config): 优化闪光效果服务中的矩阵生成逻辑 - 移除不必要的变量声明,直接在赋值时调用GenerateRandomOffspringMatrix
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
package data
|
||||
|
||||
import "github.com/gogf/gf/v2/util/grand"
|
||||
|
||||
// 1. 质量枚举常量(保持不变)
|
||||
const (
|
||||
BitmapFilterQualityLow = 1 // LOW:应用1次滤镜
|
||||
@@ -20,23 +22,33 @@ const (
|
||||
colorMax = 0xFFFFFF // 颜色值最大值(0xRRGGBB)
|
||||
)
|
||||
|
||||
// GlowFilterDefault 默认值:与目标JSON完全匹配的常量
|
||||
var GlowFilterDefault = GlowFilter{
|
||||
Color: 16777215, // 0xFFFFFF(对应JSON的color:16777215)
|
||||
Alpha: 0.8, // 对应JSON的alpha:0.8
|
||||
BlurX: 10, // 对应JSON的blurX:10
|
||||
BlurY: 10, // 对应JSON的blurY:10
|
||||
Strength: 8, // 对应JSON的strength:8
|
||||
Quality: 2, // 对应JSON的quality:2
|
||||
Inner: true, // 对应JSON的inner:true
|
||||
Knockout: false, // 无JSON值,默认false
|
||||
ColorMatrixFilter: [20]float32{1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0}, // 对应JSON的matrix数组
|
||||
Level: 1, // 对应JSON的level:"1"(转uint8)
|
||||
func GetDef() GlowFilter {
|
||||
|
||||
ret := GlowFilter{
|
||||
// Color: 16777215, // 0xFFFFFF(对应JSON的color:16777215)
|
||||
Alpha: 0.1, // 光圈大小,透明度
|
||||
BlurX: 8, // 局外光圈大小
|
||||
BlurY: 8, // 局外光圈大小
|
||||
Strength: 8, // 颜色对比度
|
||||
Quality: 1, // 背包内光圈大小
|
||||
Inner: true, // 对应JSON的inner:true
|
||||
Knockout: false, // 无JSON值,默认false
|
||||
ColorMatrixFilter: [20]float32{1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0}, // 对应JSON的matrix数组
|
||||
Level: 2, // 对应JSON的level:"1"(转uint8)
|
||||
}
|
||||
ret.Color = RandomRGBToUint32()
|
||||
return ret
|
||||
}
|
||||
|
||||
func GetDef() GlowFilter {
|
||||
return GlowFilterDefault
|
||||
// RandomRGBToUint32 生成随机RGB颜色并转为uint32(格式:0x00RRGGBB,最高8位留空)
|
||||
func RandomRGBToUint32() uint32 {
|
||||
// 生成0-255的随机R/G/B分量
|
||||
r := uint32(grand.Intn(256))
|
||||
g := uint32(grand.Intn(256))
|
||||
b := uint32(grand.Intn(256))
|
||||
|
||||
// 位拼接:R左移16位,G左移8位,B不位移,组合成uint32
|
||||
return (r << 16) | (g << 8) | b
|
||||
}
|
||||
|
||||
// 精灵加shinylen字段
|
||||
|
||||
@@ -71,10 +71,10 @@ func (s *ShinyService) RandShiny(id uint32) *data.GlowFilter {
|
||||
if len(ret) == 0 {
|
||||
return nil
|
||||
}
|
||||
r := model.GenerateRandomOffspringMatrix()
|
||||
|
||||
var t = data.GetDef()
|
||||
|
||||
t.ColorMatrixFilter = r.Get()
|
||||
t.ColorMatrixFilter = model.GenerateRandomOffspringMatrix().Get()
|
||||
|
||||
return &t
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user