编写脚本来处理photoshop CS6上的已排序照片文件夹

时间:2014-08-25 18:40:52

标签: javascript database photoshop photoshop-script photoshop-cs5

我正在尝试为CS6编写脚本来处理网站的照片。我在使用Python编程方面有一些经验,我查看了CS6的一些Java脚本,可以理解命令和逻辑。

我想到了代码的这个想法。

我有一个图片文件夹,清理后和编辑过程后," Trimmed"各种尺寸的白色区域,按其SKU排序,是独一无二的。例如123BLK1,123BLK2,123BLK3等。 这些照片是从相同角度拍摄的同一个镜头和一切照片。 想象一下在他的线条可能存在的最严重的白色背景中找到的物体。

我发现在拍完一系列照片并找到所有系列的最长或最高尺寸之后,如果我打开一个尺寸比所有系列中最大尺寸大5%的方形画布,我会完美地获得该系列以角度之间的正确比例为中心!

我的想法是创建一个脚本,在文件夹中的文件中创建一个已排序的数据库,并将最大的维度保存在该系列中,然后在该维度中打开方形画布。 像字典数据库一样,单元格将具有图片名称,密钥将是最大的维度。 然后,对于每个图片系列,打开一个按键大小的方形画布。

例如,如果我在文件夹中有这些图片,字典将按照相同的数字和相同的颜色(不同的角度1..5)对每5个SKU进行排序,保存按键中的最大尺寸并打开方形画布对于每个系列的关键 SKU宽度高系列钥匙 123BLK1 850 1200
123BLK2 1300 1400
123BLK3 1500 600
123BLK4 1900 900 1900 123BLK5 1100 1700
123GRY1 750 1000
123GRY2 900 1800 1800 123GRY3 1200 1500
123GRY4 1400 1300
123GRY5 1100 750

我在这里可能有些不对劲,但如果有人理解我的想法并且可以帮我解决CS6版本的代码,我会非常感激!

非常感谢!

STAV

1 个答案:

答案 0 :(得分:0)

刚刚在Python中编写了一个代码。如果有人知道如何在JS for CS6中做到这一点,我会非常感激。

import os, sys
from PIL import Image, ImageTk, ImageFilter, ImageOps

def canvas (path):
    dic = {}
    for file in os.listdir( path ):
        if dic.get(file[:6]) == None:
            dic[file[:6]] = [file]
        else:
            dic[file[:6]]+=[file]
    for key in dic:
        dim = None
        for pic in dic[key]: # find biggest dimmention
            im = Image.open(path+pic)
            if dim < max(im.size):
                dim = max(im.size)
        for pic in dic[key]: # open square canvas
            im = Image.open(path+pic,'r')
            w,h = im.size
            background = Image.new('L', (dim,dim), "white")
            background.paste(im,((dim-w)/2,(dim-h)/2))
            background.save(path+pic)