게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
포토샵 스크립트
게시물ID : programmer_5448짧은주소 복사하기
작성자 : 황금비
추천 : 1
조회수 : 8255회
댓글수 : 0개
등록시간 : 2014/09/15 20:59:22

안녕하세요, 게임 개발과 툴 프로그램에 관심이 많은 3류 ms빠돌이 입니다.

요즘이야 유니티가 말 그대로 "개발의 유니티화" 되고 있어서 툴 개발자들이 크게 주목 받지는 못하지만 개발하다보면 이런 거 있으면 좋겠다고 하는 툴이나 프로그램들이 있을 것입니다.

저 같은 경우 Ui 툴 만들다가 포토샵이 가장 좋은 툴인데 차라리 플러그인을 개발할까? 하다가 SDK 몇 번 끄적 거리고 다가 "그냥 시간 들여서 좌표나 따자" 이렇게 말하고 포기한 적이 있었죠.

몇년(8년)이 흘러 cs4에 포토샵이 sdk 대신 스크립트가 가능함을 알게 되었고 그냥 그런 것이 있네? 이렇게 생각하고 말다가 3년 전에 유명한 기업에 입사했었는데 여기 그래픽 담당자가 옛날 방법대로 좌표 따는 것을 보고 이름 있는 기업이 소프트웨어 하나 사주지 않고 개발자가 그냥 일일이 수작업으로(나쁜 뜻은 아닙니다) 하는 것을 보고 이건 아니다 해서 스크립트를 건들게 되었는데 스크립트를 건드리게 된 것은 순전히 빨리 개발하기 위해서 였습니다.

포토샵 메뉴얼을 읽어보니 포토샵에서 지원되는 스크립터는 javascript, vbscript, appplescript 세 종류로 애플 스크립트 말고 나머지 자바스크립트나 vb스크립트는 설명 안해도 워낙 유명해서 대충이라도 다들 알고 있으리라 생각합니다.


스크립트로 프로그래밍 방법이 소개가 되고 있는데 --> http://www.adobe.com/devnet/photoshop/scripting.html  이 곳을 가면 스크립트와 관련된 메뉴얼을 볼 수 있습니다.


저같은 경우 자바스크립트를 90년도 후반 2000 초반 si 업체 있으면서 잠깐 했다가 최근에 Nodejs 하면서 다시 만지작 거리기 때문에 그냥 사용하는 초보 수준이라 언어에 대한 설명은 그냥 넘어가겠습니다.

암튼 이 스크립트를 사용해서 포토샵의 기능을 사용할 수 있고 부족하다면 사용자가 만든 dll(32bit, 64bit 구분 필요함)을 로드해서 스크립트 내부에서 사용할 수 도 있습니다.

포토샵을 설치하면 "설치폴더\Scripting\Sample Scripts\JavaScript" 이 경로에 몇 개의 샘플 스크립트를 볼 수 있는데 포토샵에 저장되어 있는 샘플 스크립트와 다른 스크립트들을 수정해서 사용할 수 있고 일부는 내용이나 제목이나 이런 거 수정하면 포토샵 메뉴에서 달라지는 것을 볼 수도 있습니다. (이 부분은 넘어가겠습니다.)


간단하게 자바 스크립트가 동작하는 것을 보이고자 다음과 같이 윈도에 버튼 두 개가 붙은 예제를 에디트 플러스나 윈도 메모장으로 작성하고 저장할 때 확장자를 js가 아닌 jsx로 붙여 줍니다.

#target photoshop
$.localize = false;

main();

function main() {
var dlgMain, dlgRsc;
 
dlgRsc   = "dialog {" ;
dlgRsc  +=  "orientation: 'column'," ;
dlgRsc  +=  "alignChildren: ['fill', 'top'], " ;
dlgRsc  +=  "preferredSize:[400, 300]," ;
dlgRsc  +=  "text: '안녕 나 민이얌'," ;
dlgRsc  +=  "margins:15,";

dlgRsc  += "cancelButton: Button{ " ;
dlgRsc  +=   "text: 'Cancel'," ;
dlgRsc  +=   "properties:{name:'cancel'}," ;
dlgRsc  +=   "size: [120,24]," ;
dlgRsc  +=   "alignment:['right', 'center']" ;
dlgRsc  +=  "}," ;
 
dlgRsc  += "applyButton: Button {" ;
dlgRsc  += "text: 'Apply'," ;
dlgRsc  += "properties:{name:'ok'}," ;
dlgRsc  += "size: [120,24]," ;
dlgRsc  += "alignment:['right', 'center']" ;
dlgRsc  += "}," ;
dlgRsc  +=  "}" ;

dlgMain = new Window(dlgRsc);

dlgMain.cancelButton.onClick = function() { alert("취소 보당"); };
dlgMain.applyButton. onClick = function() { alert("확인 보당"); };

dlgMain.show();
}


물론 포토샵이 설치되어 있어야 실행해 볼 수 있죠?

만약에 ExtendScript Toolkit이 설치되어 있다면 jsx를 클릭만 하면 툴킷이 실행되어 실행해 볼 수 도 있습니다.

그냥 포토샵만 설치 되어 있다면  포토샵 메뉴 -> file  ->  script -> Browse 하고 저장된 jsx파일을 클릭하면 다음과 같은 창이 실행 됨을 볼 수 있을 것입니다.
Untitled-1.jpg
<스크립트 파일 찾기>


Untitled-2.jpg
<스크립트 실행 화면>


저 같은 경우 포토샵의 편집 기능을 위해서 스크립트를 사용하는 것이 아니고 레이아웃의 좌표와 해당 영역의 이미지를 저장하는 것을 목표로 개발 했기 때문에 스크립트는 통신 인터페이스로만 하고 이미지의 좌표를 모으고 해당 저장하는 것은 dll과 실행파일로 만들어서 사용했습니다. 

암튼 저처럼 혹시라도 포토샵에 플러그인을 넣어서 개발 툴로 사용하고자 하는 분들에게 쬐끔 도움이 되었으면 합니다.
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호