Render.ru

Photoshop & JavaScript (crop a selection)

#1
В фотошопе есть возможность писать скрипты на JavaScript.
У меня возникла проблема. Как программно сделать crop выделенной области? activeDocument.crop делает не то что мне нужно. Мне не надо кропать абы что. Я хочу сделать crop, созданного мной предварительно выделения (selection.select(new Array(......))). Есть какие-нибудь идеи?
В принципе я могу на это забить, если мне объяснят как из скрипта запустить action, в котором я насильно ему сделаю кроп. Я так и не разобрался как это сделать.

З.Ы. Мда, сдается мне, топик умрет едва родившись. Людей которые скриптят под Фотошоп я еще не встречал. Увы. Хотя, ведь должны же они быть!
 
#2
Ура, я кажись сам разобрался. Все просто.
Есть такая хрень - doAction.
Пишем DoAction("actionName", "SetName") и все работает! Ура! Ура! Ура!
ationName - имя экшына, а SetName - имя папочки в которой он лежит.
 

monter

Знаток
Рейтинг
35
#3
> Людей которые скриптят под Фотошоп я еще не встречал

Скрипим и не только под PS. Обращяйся!
 
#4
Обращаюсь:
Как программно открыть несколько файлов?

Такая штука катит, чтобы открыть один файл:
var fileRef = new File("filename");
var activeDocument = open (fileRef);

А я хочу чтобы много и сделать некое подобие интерфейса.
Для начала хочу выбирать папочку и открыть все файлы в ней. Сделать такой диалог я могу:
var SelFolder = Folder.selectDialog("Select folder", Folder("~"));

Даже список файлов с помощью getFiles могу получить, а вот как сказать чтобы, что что я получил было открыто пока не соображу. Если можете, поможите. Буду очень благодарен.
 

monter

Знаток
Рейтинг
35
#5
> а вот как сказать чтобы, что что я получил было открыто пока не соображу.

Что-то не по русски. Что хочешь получть? Задачу корректнее поставь.
 
#8
народ! пипл который пишет скрипты - есть, но ему надо скапливаться на определенных сайтах для обмена инфой....

я вот не пишу на каких сайтах гуляю ;) дабы не расценили как рекламу...

может опредилимся?
 
#9
Спасибо.
Использовать-то конечно можно.
не пойму только как выбрать при таком подходе больше одного файла. Диалог не поддерживает такой возможности. Или я опять туплю.

А вопрос был - как загрузить несколько файлов?
 
#10
С чем же мы должны определиться? Где нам тусоваться? Это конечно идея хорошая. Единственное место, где я нашел форум Photoshop scripting - это официальный сайт Adobe.com. Страшенное убожество. Как в наш просвещенный век можно было сделать такой неудобный форум, остается только диву даваться. Я пытался использовать поиск по этому форуму, но мало нашел дельного. Хотя может я просто искать не умею.
Это я все к тому, что если бы был где-то на Руси нормальный форум куда заходят отцы писания скриптов под Фотошоп, то это было бы великолепно. Я такого не нашел, посему запостил здесь в надежде на то, что они сюда захаживают.
А вообще, я весьма паршиво соображаю в этом деле. Еще и информации - кот наплакал. Все что у меня есть - это достаточно скупая документация от Adobe, входящая в стандартную поставку Photoshop CS, да набор готовых скриптов к тому же PH cs и к его младшим братьям. Впрочем, как и у всех наверное. Ну и пресловутый форум на Adobe.com иногда все же бывает полезен. Если есть еще какие-то источники, поделитесь пожалуйста. Особенно ценны будут экзамплы.
 
#11
Все, разобрался кажись.
Всем спасибо.


Вот хрень, которой я хотел достичь:

var SelFolder = Folder.selectDialog("Select Folder");

var fileList = SelFolder.getFiles("*.jpg");

for (i=0; i<fileList.length; i++)
{
var fileRef = new File(fileList);
var docRef = open (fileRef);
}
 
#12
Burarum wrote:

> Это я все к тому, что если бы был где-то на Руси нормальный
> форум куда заходят отцы писания скриптов под Фотошоп, то это
> было бы великолепно.

если нет, то можно организовать
и оповестить народ занимающийся этим...
только вот много ли такого народа?
 
#13
Достаточно интересно:

What’s new in Photoshop CS2 Scripting

http://photoshopnews.com/2005/04/20/what%e2%80%99s-new-in-photoshop-cs2-scripting/

Проще конечно на родном языке, давайте создавать форум для скриптинга


 
#14
to Burarum :
Crop`у нужно - bounds as Array( UnitValue ).

Желательно посмотреть файлы JavaScriptReferenceGuide.pdf и т.д.
 
#15
Здравствуйте!
Подскажите пожалуйста - как с в Delphi с помощью OpenDialog
добавить сразу несколько (все выбранные) файлов в ListBox.
Есть свойство этого диалога "Мультивыбор".
Это я знаю.
Я только не знаю - как потом полученную инфу из диалога раздельть на строки и запихнуть в ListBox.
________________________________________________________
Буду очень-очень-очень благодарен!!!!!!!!!!!
 
#16
А какого вида строку возвращает OpenDialog на Дельфи, которое не понятно тут при чем.
 
#17
Если написать:

ListBox1.Items.Add(OpenDialog2.FileName);

То выдаёт только первый файл из выбранных.:(

Пробовал ListBox1.Items.Add(OpenDialog2.Files.Text); (Ну и всякие другие)
Выдаёт все пути сразу. :)

Как их поделить по очереди и расставить в строки ListBox?
 
#18
Какого вида строку возвращает OpenDialog, который слава богу не на дельфи, а на яве.

Процитируйте возвращаемое значение. Уверен что вы сами можете найти delimeter по которому можно строку разбить на массив элементов, но вдруг я смогу помочь его заметить.

Впрочем, я рассуждаю в парадигме басика. А вы не пробовали добавить после .Files квадратные скобки [] в которые вписать индекс элемента массива чтобы получить его в текстовом виде.Text ? Попробуйте Alert(OpenDialog2.Files.Length); - если напишет число (длину массива) то точно так можно.
 
#19
Всё оказывается очень просто!

Сначала Options/ofMultiSelect (выставляете свойство мультивыбора OpenDialog в true)
Далее:

Способ1:
______________
Например для ListBox это делается так:

ListBox1.Items.AddStrings(OpenDialog1.Files);

В итоге в ListBox ДОБАВЛЯЮТСЯ к уже имеющимся строкам
строки с адресами выбранных в OpenDialog файлов
______________

Способ2:
______________

ListBox1.Items:=OpenDialog1.Files;

В этом примере стираются старые строки в ListBox и записываются новые из OpenDialog.
______________

Конечно вместо можно не только в ListBox, но и в другие компоненты вставлять строки с путями, выделенными в OpenDialog (с незначительными изменениями в коде)

Удачи всем!
__________________
С уважением Евгений!
http://cyber.hobi.ru/
 
Сверху