이 기능을 사용하면 프로그래밍 방식으로 16진수 색상을 특정 양만큼 밝거나 어둡게 할 수 있습니다. 색상에 대해 "3F6D2A"와 같은 문자열을 전달하고 밝거나 어둡게 하는 양에 대한 정수 amt를 전달하기만 하면 됩니다. 어둡게 하려면 음수(예: -20)를 전달합니다.
<code class="js">function LightenDarkenColor(col, amt) { col = parseInt(col, 16); return (((col & 0x0000FF) + amt) | ((((col >> 8) & 0x00FF) + amt) << 8) | (((col >> 16) + amt) << 16)).toString(16); } // TEST console.log(LightenDarkenColor("3F6D2A", 40));
더 빠르고 작은 버전:
<code class="js">function LightenDarkenColor(col, amt) { var num = parseInt(col, 16); var r = (num >> 16) + amt; var b = ((num >> 8) & 0x00FF) + amt; var g = (num & 0x0000FF) + amt; var newColor = g | (b << 8) | (r << 16); return newColor.toString(16); } // TEST console.log(LightenDarkenColor("3F6D2A", -40));
# 접두사가 있거나 없는 색상 처리:
<code class="js">function LightenDarkenColor(col, amt) { var usePound = false; if ( col[0] == "#" ) { col = col.slice(1); usePound = true; } var num = parseInt(col, 16); var r = (num >> 16) + amt; if ( r > 255 ) r = 255; else if (r < 0) r = 0; var b = ((num >> 8) & 0x00FF) + amt; if ( b > 255 ) b = 255; else if (b < 0) b = 0; var g = (num & 0x0000FF) + amt; if ( g > 255 ) g = 255; else if ( g < 0 ) g = 0; return (usePound?"#":"") + (g | (b << 8) | (r << 16)).toString(16); }</code>
이 기능을 사용하려면 밝게하려는 16진수 색상 문자열을 전달하거나 어둡게 하고 조정하려는 양을 선택합니다. 예를 들어, 다음 코드는 "3F6D2A" 색상을 40만큼 밝게 합니다.
<code class="js">const lightenedColor = LightenDarkenColor("3F6D2A", 40); console.log(`Lightened Color: ${lightenedColor}`); // Output: 7FADEE</code>
이 함수의 성능은 속도와 크기에 최적화되어 있습니다. 비트 단위 연산을 사용하여 색상 값을 조작하므로 속도가 매우 빠릅니다. 기능도 매우 작기 때문에 소규모 애플리케이션에 사용하기에 적합합니다.
위 내용은 JavaScript에서 프로그래밍 방식으로 16진수 색상을 밝게 하거나 어둡게 하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!