【问题标题】:Photoshop Script to Randomly Select Images用于随机选择图像的 Photoshop 脚本
【发布时间】:2017-11-03 15:28:25
【问题描述】:

我正在尝试使用 Javascript 从本地文件夹中选择两个随机图像并放置在单独的 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);

这会打开第一个图像并在上面创建一个空白层,但不会插入第二个图像。我错过了什么?

【问题讨论】:

    标签: javascript photoshop photoshop-script


    【解决方案1】:

    在 javascript 中,您必须先创建一个文件对象,然后才能打开图像。您所要做的就是创建变量,然后将其指向 secondImage。就像你对第一张图片所做的那样:

    var imgFile = File(pickImage);
    

    在您当前的方法中,您最简单的解决方案可能是只创建一个变量 secondPickedImage 并将其分配给与 pickImage 相同的东西。虽然这会留下您选择相同图像的可能性,但您可以使用 if 语句来解决这个问题。 我建议更改您的方法并将 pickImage 转换为您可以调用的函数,该函数将为您的数组返回一个随机数 - 节省空间并清理您的代码。然后将 secondImage 分配放在一个 do while 循环中,该循环不断选择一个随机数,直到您选择一个与 pickImage 编号不同的数字,这样您的第一张和第二张图片就不同了。

    来源:http://wwwimages.adobe.com/www.adobe.com/content/dam/acom/en/devnet/photoshop/pdfs/photoshop-cc-scripting-guide.pdf 第 29 页。

    【讨论】:

      猜你喜欢
      • 2021-04-12
      • 2014-01-28
      • 2013-10-23
      • 2011-01-10
      • 1970-01-01
      • 1970-01-01
      • 2020-12-27
      • 2020-05-05
      • 1970-01-01
      相关资源
      最近更新 更多