[javascript] PhotoSwipe를 이용한 이미지 메타데이터 편집 방법

PhotoSwipe 설치

PhotoSwipe를 사용하기 위해 우선 이를 다운로드하고 HTML 문서에 연결해야 합니다. 아래의 스크립트 태그를 HTML 문서의 <head> 태그 안에 추가합니다.

<link rel="stylesheet" href="path/to/photoswipe.css">
<link rel="stylesheet" href="path/to/default-skin/default-skin.css">

<script src="path/to/photoswipe.min.js"></script>
<script src="path/to/photoswipe-ui-default.min.js"></script>

또한, PhotoSwipe를 사용할 이미지들을 담은 갤러리 요소를 생성해야 합니다. 갤러리 요소는 다음과 같은 형태로 작성됩니다. href 속성에는 큰 이미지의 URL을, data-size 속성에는 이미지의 원래 크기를, 그리고 title 속성에는 이미지에 대한 추가 정보를 입력합니다.

<div class="my-gallery">
  <figure>
    <a href="path/to/image.jpg" data-size="800x600" title="Image 1">
      <img src="path/to/thumbnail.jpg" alt="Image 1">
    </a>
  </figure>
  <!-- 다른 이미지들... -->
</div>

이미지 메타데이터 편집

이미지의 메타데이터를 편집하기 위해서는 PhotoSwipe 객체의 parseThumbnailElements 메소드를 사용합니다. 이 메소드는 DOM 요소의 배열을 인자로 받아서, 각 요소의 데이터 속성을 분석하여 이미지의 메타데이터를 설정합니다.

var pswpElement = document.querySelectorAll('.my-gallery')[0]; // PhotoSwipe 컨테이너 요소
var items = []; // 이미지 아이템들을 담을 배열

// 이미지 아이템들의 DOM 요소들을 가져옴
var galleryElements = document.querySelectorAll('.my-gallery figure');

// 이미지 아이템들을 배열에 추가
for(var i = 0; i < galleryElements.length; i++) {
  var galleryItem = galleryElements[i];
  
  var image = galleryItem.getElementsByTagName('img')[0];
  var item = {
    src: galleryItem.getElementsByTagName('a')[0].getAttribute('href'), // 큰 이미지의 URL
    w: parseInt(image.getAttribute('data-size').split('x')[0]), // 원래 이미지의 너비
    h: parseInt(image.getAttribute('data-size').split('x')[1]), // 원래 이미지의 높이
    title: galleryItem.getElementsByTagName('a')[0].getAttribute('title') // 추가 정보
  };

  items.push(item);
}

// 이미지 아이템들을 이용하여 PhotoSwipe 인스턴스를 생성
var gallery = new PhotoSwipe(pswpElement, PhotoSwipeUI_Default, items, { index: 0 });

// 이벤트 핸들러를 추가하여 이미지를 클릭하면 갤러리가 열리도록 설정
for(var j = 0; j < galleryElements.length; j++) {
  galleryElements[j].addEventListener('click', function(event) {
    event.preventDefault(); // 기본 동작 방지
    gallery.init();
  });
}

위의 코드를 HTML 문서에 추가한 뒤, 이미지를 클릭하면 해당 이미지에 대한 메타데이터가 설정되고, PhotoSwipe 갤러리가 열리게 됩니다.

PhotoSwipe를 사용하여 이미지 메타데이터를 편집하는 방법에 대해 알아보았습니다. 이를 통해 사용자들은 웹 사이트에서 이미지를 더 쉽게 탐색하고 추가 정보를 확인할 수 있을 것입니다. PhotoSwipe의 다른 기능도 함께 살펴보고 활용해보세요.

참고 자료: