2017-11-03 11 views
0

JavaScript를 사용하여 로컬 폴더에서 두 개의 임의 이미지를 선택하고 별도의 Photoshop 레이어에 배치하려고합니다. 선택할 파일 경로가있는 배열을 만들었습니다.무작위로 이미지를 선택하는 Photoshop 스크립트

#target photoshop 
var allImages = [“file path/img-1.jpg”, "file path/img-2.jpg", "file path/img-3.jpg"]; 
//this is a large array of file paths to 100 different images 
var pickImage = allImages[Math.floor(Math.random() * 
allImages.length)]; 
var imgFile = File(pickImage); 
var openFile = app.open(imgFile); 
var secondImage = allImages[Math.floor(Math.random() * allImages.length)]; 
app.activeDocument.artLayers.add(secondImage); 

이렇게하면 첫 번째 이미지가 열리고 위의 빈 레이어가 생성되지만 두 번째 이미지는 삽입되지 않습니다. 내가 뭘 놓치고 있니?

답변

0

자바 스크립트에서 이미지를 열기 전에 먼저 파일 개체를 만들어야합니다. 변수를 작성한 다음 secondImage에서 가리 키기 만하면됩니다. 첫 번째 이미지와 그랬던 것처럼 :

var imgFile = File(pickImage); 

을 현재의 접근 방식에서, 당신의 가장 쉬운 해결책은 아마 변수 secondPickedImage을하고 pickImage과 같은 일에 할당하는 것입니다. 이 경우 동일한 이미지를 선택할 가능성이 있지만 if 문을 사용하여 수정할 수 있습니다. 나는 당신의 접근 방법을 바꾸고 pickImage를 배열에 임의의 숫자를 돌려 줄 수있는 함수로 바꾸어 공간을 절약하고 코드를 정리할 것을 권한다. 그런 다음 pickImage 번호와 다른 번호를 선택할 때까지 임의의 숫자를 계속 선택하는 do while 루프에 secondImage 할당을 지정하여 첫 번째 및 두 번째 그림이 달라집니다.

출처 : http://wwwimages.adobe.com/www.adobe.com/content/dam/acom/en/devnet/photoshop/pdfs/photoshop-cc-scripting-guide.pdf 29.