Возможно ли создать несколько изображений в Photoshop с использованием значений HEX из файла CSV

Вопрос:

Мне нужно создать 100 одноцветных.png файлов в Photoshop, где я могу вызывать шестнадцатеричные значения из CSV файла, чтобы изменить цвет изображения и сохранить как искомое имя в файле CSV.

Каков наилучший способ сделать это?

Ответ №1

Ниже приведена моя функция для чтения файла csv. После того, как у вас есть цвета, вы можете использовать “app.documents.add()”, чтобы создать новый документ с начальным цветом заливки, сохранить и т.д. Для получения дополнительной информации ознакомьтесь со своим Справочником по JavaScript Photoshop в папке установки Photoshop.

Misc.ReadCsvData = function (csvFile, bHeaderOnly) {

if (bHeaderOnly == undefined)
bHeaderOnly = false;

var line, temp, csvRecord, tempArr;
var csvData = new Array();
var tempArr2 = new Array();
csvFile.open("r");

var startsWithQuote = new RegExp('^\s*"');
var endsWithQuote = new RegExp('"\s*$');
var doubleQuotes = new RegExp('""', "g");
var hasData = new RegExp('[a-zA-Z0-9]');
var bInsideQuote = false;
var iFieldCount = -1;
var sTemp;

while (!csvFile.eof) {
line = csvFile.readln();

if (line.match(hasData)) {
tempArr = line.split(",");
tempArr2 = new Array();

for (var i = 0; i < tempArr.length; i++) {
if (!bInsideQuote && !tempArr[i].match(startsWithQuote)) {
tempArr2.push(tempArr[i].replace(doubleQuotes, '"'));
} else if (!bInsideQuote && tempArr[i].match(startsWithQuote) && tempArr[i].match(endsWithQuote)) {
tempArr2.push(tempArr[i].replace(startsWithQuote, "").replace(endsWithQuote, "").replace(doubleQuotes, '"'));
} else if (!bInsideQuote && tempArr[i].match(startsWithQuote)) {
bInsideQuote = true;
sTemp = tempArr[i];
} else if (bInsideQuote) {
sTemp  = sTemp  + ", " + tempArr[i];
if (tempArr[i].match(endsWithQuote)) {
tempArr2.push(sTemp.replace(startsWithQuote, "").replace(endsWithQuote, "").replace(doubleQuotes, '"'));
bInsideQuote = false;
}
}
}

if (iFieldCount < 0)
iFieldCount = tempArr2.length;

if (iFieldCount != tempArr2.length) {
throw "Cannot parse csv format.";
}

csvData.push(tempArr2);

if (bHeaderOnly)
break;
}
}

csvFile.close();

return csvData;
}

Оцените статью
TechArks.Ru
Добавить комментарий