[javascript] Cropper.js를 사용하여 이미지에 레벨 조정하기

이미지 편집을 위해 Cropper.js를 사용하는 방법에 대해 알아보겠습니다. 이번 예제에서는 Cropper.js를 사용하여 이미지에 레벨 조정 기능을 추가하는 방법을 다룰 것입니다.

Cropper.js란?

Cropper.js는 JavaScript 라이브러리로, 웹 페이지에서 이미지를 자르고 편집할 수 있는 기능을 제공합니다. HTML5의 Canvas 요소와 함께 사용할 수 있으며, 사용자가 이미지를 확대, 축소, 회전 등의 작업을 할 수 있게 해줍니다.

Cropper.js 설치

Cropper.js는 NPM을 통해 설치할 수 있습니다. 다음 명령을 사용하여 Cropper.js를 설치하세요:

npm install cropperjs

이미지에 레벨 조정 기능 추가하기

다음은 Cropper.js를 사용하여 이미지에 레벨 조정 기능을 추가하는 예제입니다.

<!DOCTYPE html>
<html>
<head>
  <link rel="stylesheet" href="https://unpkg.com/cropperjs/dist/cropper.css">
  <script src="https://unpkg.com/cropperjs/dist/cropper.js"></script>
</head>
<body>
  <h1>이미지 레벨 조정</h1>
  <img src="example.jpg" id="image">
  <input type="range" min="0" max="100" value="50" id="levelSlider">

  <script>
    const image = document.getElementById('image');
    const levelSlider = document.getElementById('levelSlider');
    
    const cropper = new Cropper(image, {
      viewMode: 1,
      zoomable: false,
      ready: function () {
        const imageData = cropper.getImageData();
        const initialLevel = 0; // 초기 레벨 값
        const levelRange = 100; // 레벨 범위
        const levelValue = initialLevel + (levelSlider.value / 100) * levelRange;

        cropper.level(levelValue);
        
        levelSlider.addEventListener('input', function (event) {
          const levelValue = initialLevel + (event.target.value / 100) * levelRange;
          cropper.level(levelValue);
        });
      }
    });
  </script>
</body>
</html>

위 예제에서는 example.jpg라는 이미지를 로드하고, levelSlider라는 범위 입력 요소를 생성합니다. Cropper.js 함수를 사용하여 이미지를 자르고 편집할 수 있는 인스턴스를 생성합니다.

ready 이벤트 핸들러에서는 이미지의 데이터를 가져온 후, 슬라이더의 값에 따라 레벨 값을 조정합니다. 슬라이더 값을 이용하여 새로운 레벨 값을 계산하고, cropper.level() 함수를 사용하여 이미지의 레벨을 조정합니다.

결론

이번 포스트에서는 Cropper.js를 사용하여 이미지에 레벨 조정 기능을 추가하는 방법을 알아보았습니다. Cropper.js의 다양한 기능을 활용하여 이미지 편집을 자유롭게 할 수 있습니다. 추가적인 기능과 옵션에 대해서는 Cropper.js의 공식 문서를 참고하시기 바랍니다.

참고 자료: