reactJs를 사용하여 배경색을 기반으로 글꼴 색상을 변경하는 방법

니틴 신데

컨테이너의 동적 배경은 사용자에 의해 변경되므로 배경색을 기반으로 텍스트 색상을 설정해야합니다. 예를 들어 컨테이너의 검정색 배경을 설정 한 다음 텍스트에 흰색을 설정해야합니다. ReactJs 및 재질 UI 라이브러리를 사용하고 있습니다. 내 앱에 대해 좋은 경로를 제안하십시오.

딜립 토마스

아래 샘플 코드를 참조하십시오.

import React, { useState, useEffect } from "react";
import ReactDOM from "react-dom";
import DynamicContainer from "./style";

import "./styles.css";

function App() {
  const [bgColor, setBGColor] = useState("#422DAD");
  const [textColor, setTextColor] = useState("rgb(99,99,100)");

  function hexToRgb(hex) {
    // Expand shorthand form (e.g. "03F") to full form (e.g. "0033FF")
    var shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;
    hex = hex.replace(shorthandRegex, function(m, r, g, b) {
      return r + r + g + g + b + b;
    });

    var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
    return result
      ? {
          r: parseInt(result[1], 16),
          g: parseInt(result[2], 16),
          b: parseInt(result[3], 16)
        }
      : null;
  }

  useEffect(() => {
    let { r, g, b } = hexToRgb(bgColor);
    let targetColor = `rgb(${r},${g},${b})`;
    var colors = targetColor.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
    var brightness = 1;

    var R = colors[1];
    var G = colors[2];
    var B = colors[3];

    var ir = Math.floor((255 - R) * brightness);
    var ig = Math.floor((255 - G) * brightness);
    var ib = Math.floor((255 - B) * brightness);
    setTextColor(`rgb(${ir}, ${ig}, ${ib})`);
  }, [bgColor]);

  const handleBgChange = e => {
    setBGColor(e.target.value);
  };

  return (
    <>
      <DynamicContainer bgColor={bgColor} textColor={textColor}>
        Hello World!
      </DynamicContainer>
      <p>Choose Background color</p>
      <input type="color" value={bgColor} onChange={handleBgChange} />
    </>
  );
}

const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);

다음은 업데이트 된 코드 및 상자입니다.

여기에서 확인

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Java : 배경 및 글꼴 색상을 임의로 변경하는 방법

분류에서Dev

차트 글꼴 색상을 변경하는 방법

분류에서Dev

버튼을 사용하여 탐색 모음을 만들거나 탐색 모음에서 텍스트의 글꼴 크기를 변경하는 방법

분류에서Dev

범례의 글꼴을 Windows 글꼴로 변경하는 방법

분류에서Dev

jquery를 사용하여 테이블 셀에서 글꼴을 동적으로 변경하는 방법

분류에서Dev

앱 글꼴을 사용자 지정 글꼴로 변경하는 방법

분류에서Dev

jQuery를 사용하여 글꼴 색상을 변경하는 방법을 알 수 없습니다 (간단한 메뉴를 구축하려고 시도 중).

분류에서Dev

콤보 박스 C #을 사용하여 DataGridView 헤더 글꼴 색상을 변경하는 방법

분류에서Dev

글꼴 색상을 변경하기 위해 다른 필드를 사용하는 SSRS 중첩 IIF

분류에서Dev

switch 문으로 글꼴 크기를 변경하는 방법

분류에서Dev

Java JMenuItem (ctrl + s) 내에서 바로 가기 텍스트의 색상 / 글꼴을 변경하는 방법

분류에서Dev

Windows 글꼴 탐색기 테스트 구문을 변경하는 방법

분류에서Dev

LiveCharts를 사용하여 DataLabels 색상을 변경하는 방법

분류에서Dev

일부 라이브러리를 사용하여 pdf에서 기울임 꼴 글꼴을 일반 글꼴로 변환하는 방법은 무엇입니까?

분류에서Dev

Reactjs는 글꼴 크기 색상 변경

분류에서Dev

ReactJ와 함께 ChartistJs 라이브러리를 사용하여 막대 차트의 레이블 색상 및 글꼴을 변경하는 방법

분류에서Dev

Flutter에서 TextFormField 높이 및 글꼴 색상을 기본값에서 변경하는 방법

분류에서Dev

as3-글꼴, 크기 및 색상을 변경하는 방법은 무엇입니까?

분류에서Dev

libgdx-애니메이션 효과로 내 글꼴 색상을 변경하는 방법

분류에서Dev

자바 스크립트를 사용하여 이메일을 실시간으로 확인하고 텍스트 상자 배경색을 변경하는 방법

분류에서Dev

글꼴을 변경하는 방법

분류에서Dev

태그 글꼴 색상을 변경하는 방법은 무엇입니까?

분류에서Dev

텍스트 flipclock.js에서 글꼴 색상을 변경하는 방법

분류에서Dev

cycle2 cycle-overlay에서 글꼴 색상을 변경하는 방법

분류에서Dev

R에서 글꼴 색상을 변경하는 방법은 무엇입니까?

분류에서Dev

Word 문서 스타일에서 글꼴 색상을 변경하는 방법

분류에서Dev

Ionic에서 텍스트 글꼴 및 색상을 변경하는 방법-2

분류에서Dev

GridView의 글꼴 색상을 변경하는 방법은 무엇입니까?

분류에서Dev

이모티콘을 감지하고 글꼴 크기를 변경하는 방법

Related 관련 기사

  1. 1

    Java : 배경 및 글꼴 색상을 임의로 변경하는 방법

  2. 2

    차트 글꼴 색상을 변경하는 방법

  3. 3

    버튼을 사용하여 탐색 모음을 만들거나 탐색 모음에서 텍스트의 글꼴 크기를 변경하는 방법

  4. 4

    범례의 글꼴을 Windows 글꼴로 변경하는 방법

  5. 5

    jquery를 사용하여 테이블 셀에서 글꼴을 동적으로 변경하는 방법

  6. 6

    앱 글꼴을 사용자 지정 글꼴로 변경하는 방법

  7. 7

    jQuery를 사용하여 글꼴 색상을 변경하는 방법을 알 수 없습니다 (간단한 메뉴를 구축하려고 시도 중).

  8. 8

    콤보 박스 C #을 사용하여 DataGridView 헤더 글꼴 색상을 변경하는 방법

  9. 9

    글꼴 색상을 변경하기 위해 다른 필드를 사용하는 SSRS 중첩 IIF

  10. 10

    switch 문으로 글꼴 크기를 변경하는 방법

  11. 11

    Java JMenuItem (ctrl + s) 내에서 바로 가기 텍스트의 색상 / 글꼴을 변경하는 방법

  12. 12

    Windows 글꼴 탐색기 테스트 구문을 변경하는 방법

  13. 13

    LiveCharts를 사용하여 DataLabels 색상을 변경하는 방법

  14. 14

    일부 라이브러리를 사용하여 pdf에서 기울임 꼴 글꼴을 일반 글꼴로 변환하는 방법은 무엇입니까?

  15. 15

    Reactjs는 글꼴 크기 색상 변경

  16. 16

    ReactJ와 함께 ChartistJs 라이브러리를 사용하여 막대 차트의 레이블 색상 및 글꼴을 변경하는 방법

  17. 17

    Flutter에서 TextFormField 높이 및 글꼴 색상을 기본값에서 변경하는 방법

  18. 18

    as3-글꼴, 크기 및 색상을 변경하는 방법은 무엇입니까?

  19. 19

    libgdx-애니메이션 효과로 내 글꼴 색상을 변경하는 방법

  20. 20

    자바 스크립트를 사용하여 이메일을 실시간으로 확인하고 텍스트 상자 배경색을 변경하는 방법

  21. 21

    글꼴을 변경하는 방법

  22. 22

    태그 글꼴 색상을 변경하는 방법은 무엇입니까?

  23. 23

    텍스트 flipclock.js에서 글꼴 색상을 변경하는 방법

  24. 24

    cycle2 cycle-overlay에서 글꼴 색상을 변경하는 방법

  25. 25

    R에서 글꼴 색상을 변경하는 방법은 무엇입니까?

  26. 26

    Word 문서 스타일에서 글꼴 색상을 변경하는 방법

  27. 27

    Ionic에서 텍스트 글꼴 및 색상을 변경하는 방법-2

  28. 28

    GridView의 글꼴 색상을 변경하는 방법은 무엇입니까?

  29. 29

    이모티콘을 감지하고 글꼴 크기를 변경하는 방법

뜨겁다태그

보관