[javascript] Clipboard.js를 사용하여 웹페이지에서 이미지 붙여넣기 기능 구현하기

이번에는 Clipboard.js를 사용하여 웹페이지에서 이미지를 붙여넣기하는 기능을 구현해보겠습니다. Clipboard.js는 클립보드에 복사 및 붙여넣기를 쉽게 처리할 수 있는 자바스크립트 라이브러리입니다.

Clipboard.js 라이브러리 설치

먼저, Clipboard.js 라이브러리를 설치해야 합니다. 아래의 명령어를 사용하여 npm을 통해 Clipboard.js를 설치합니다.

npm install clipboard --save

이미지 붙여넣기 기능 구현

이제 Clipboard.js를 사용하여 이미지 붙여넣기 기능을 구현해봅시다.

<!DOCTYPE html>
<html>
<head>
  <title>Clipboard.js를 사용한 이미지 붙여넣기</title>
  <script src="clipboard.min.js"></script>
</head>
<body>
  
  <h1>이미지 붙여넣기</h1>
  
  <!-- 이미지 붙여넣기를 위한 입력란 -->
  <input id="imageInput" type="file" accept="image/*" />

  <!-- 붙여넣기 버튼 -->
  <button id="pasteButton">붙여넣기</button>

  <!-- 붙여넣은 이미지를 보여줄 영역 -->
  <div id="pasteArea"></div>

  <script>
    // Clipboard.js 인스턴스 생성
    var clipboard = new ClipboardJS('#pasteButton', {
      text: function() {
        return document.querySelector("#pasteArea img").src;
      }
    });
  
    // 붙여넣기 버튼 클릭 이벤트 처리
    document.querySelector('#pasteButton').addEventListener('click', function() {
      navigator.clipboard.read().then(function(clipboardItems) {
        for (var i = 0; i < clipboardItems.length; i++) {
          clipboardItems[i].getType('image/png').then(function(imageData) {
            var imageURL = URL.createObjectURL(imageData);
  
            // 붙여넣은 이미지를 보여주는 영역에 이미지 추가
            var img = document.createElement('img');
            img.src = imageURL;
            document.querySelector("#pasteArea").appendChild(img);
          });
        }
      });
    });
  </script>
</body>
</html>

위의 코드는 이미지 붙여넣기를 위한 입력란, 붙여넣기 버튼, 그리고 붙여넣은 이미지를 보여줄 영역을 가지고 있는 간단한 HTML 파일입니다.

실행 결과로는 사용자가 이미지 파일을 선택하고 붙여넣기 버튼을 클릭하면, 클립보드에 있는 이미지를 읽어와서 붙여넣은 이미지를 보여주는 기능이 동작합니다.

결론

이번에는 Clipboard.js를 사용하여 웹페이지에서 이미지를 붙여넣기하는 기능을 구현해보았습니다. Clipboard.js는 간단한 코드로 클립보드에 복사 및 붙여넣기를 처리할 수 있도록 도와줍니다. 다양한 상황에서 활용할 수 있으니 응용하여 사용해보시길 바랍니다.

참고 자료