Adobe/Photoshap

포토샵으로 시퀀서 뽑기

이족보행달팽이 2024. 11. 29. 06:23
#target photoshop

// 설정 값
var cellSize = 1024; // 한 이미지의 크기
var gridCols = 8; // 가로 열 수
var gridRows = 8; // 세로 행 수
//----------------------------------------------------------------------------------------------------------------------------------
// 캔버스 크기
var docWidth = cellSize * gridCols; // 캔버스 폭
var docHeight = cellSize * gridRows; // 캔버스 높이

// 새 문서 생성
var doc = app.documents.add(docWidth, docHeight, 72, "Sequence Grid", NewDocumentMode.RGB, DocumentFill.TRANSPARENT);

// 이미지 불러오기
var imageFolder = Folder.selectDialog("이미지가 저장된 폴더를 선택하세요");
if (imageFolder != null) {
    var images = imageFolder.getFiles(/\.(jpg|jpeg|png|gif|bmp|tif|tiff)$/i); // 이미지 파일만 선택
    if (images.length < gridCols * gridRows) {
        alert("선택한 폴더에  ${gridCols * gridRows}개 이상의 이미지가 필요합니다.");
    } else {
        for (var i = 0; i < gridRows; i++) {
            for (var j = 0; j < gridCols; j++) {
                var imageIndex = i * gridCols + j; // 이미지 배열의 인덱스
                var file = new File(images[imageIndex]);
                var placedImage = app.open(file);
                placedImage.selection.selectAll();
                placedImage.selection.copy();
                placedImage.close(SaveOptions.DONOTSAVECHANGES);

                doc.paste();
                var layer = doc.activeLayer;

                // 레이어 이동 (좌상단 기준으로 정렬)
                var xOffset = j * cellSize; // 가로 위치
                var yOffset = i * cellSize; // 세로 위치
                layer.translate(-docWidth / 2 + cellSize / 2 + xOffset, -docHeight / 2 + cellSize / 2 + yOffset);
            }
        }
        alert("이미지가 좌상단부터 순서대로 배치되었습니다!");
    }
}

 

 

  • 아래 코드를 복사하여 텍스트 편집기(예: 메모장, Visual Studio Code)에 붙여 넣습니다.
  • 파일을 "Sequence.jsx"로 저장합니다. (확장자인 *.jsx만 맞추면 무방함)

 

 

 

File - Scripts - Browse - 스크립트 선택 - 시퀀스 폴더 선택 - 알림창이 나올 때까지 대기