From 64e392130b669bf9988e06efe6b42363a877f647 Mon Sep 17 00:00:00 2001 From: yuanjiajia <1139393632@qq.com> Date: Mon, 17 Jul 2023 11:23:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B8=B2=E6=9F=93=E6=B5=8B=E5=BC=8F=20?= =?UTF-8?q?=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/MatHelper.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/utils/MatHelper.php b/src/utils/MatHelper.php index f966094..7dda7d9 100644 --- a/src/utils/MatHelper.php +++ b/src/utils/MatHelper.php @@ -37,7 +37,7 @@ class MatHelper{ /** * 获得 十六进制颜色 同色调 的 最大亮度 */ - static function colorMaxBrightness($hexColor){ + static function colorMaxBrightness($hexColor,$scale){ $r = (hexdec(substr($hexColor, 1, 2))); $g = (hexdec(substr($hexColor, 3, 2))); $b = (hexdec(substr($hexColor, 5, 2))); @@ -47,10 +47,10 @@ class MatHelper{ $MaxBrightnessPass = $value > $MaxBrightnessPass ? $value : $MaxBrightnessPass; } - $scale = 255 / $MaxBrightnessPass; - $r =dechex(round($r * $scale)); - $g =dechex(round($g * $scale)); - $b =dechex(round($b * $scale)); + $gain = (255 - $MaxBrightnessPass) / 255 * $scale; + $r =dechex(round($r + 255 * $gain)); + $g =dechex(round($g + 255 * $gain)); + $b =dechex(round($b + 255 * $gain)); return "#{$r}{$g}{$b}"; } @@ -430,7 +430,7 @@ class MatHelper{ $matOriginal->matParams->translucencyColor )); $material->setBaseColor( self::hex2floatColor( - self::colorMaxBrightness($matOriginal->matParams->translucencyColor), + self::colorMaxBrightness($matOriginal->matParams->translucencyColor, $translucencyIntensity), 1 - $translucencyIntensity )); // $material->setSpecular(