1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

Photoshop & JavaScript (crop a selection)

Тема в разделе "Adobe Photoshop", создана пользователем -, 28 июл 2004.

Модераторы: Mic Nau
  1. Guest

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

    З.Ы. Мда, сдается мне, топик умрет едва родившись. Людей которые скриптят под Фотошоп я еще не встречал. Увы. Хотя, ведь должны же они быть!
     
  2. Guest

    Ура, я кажись сам разобрался. Все просто.
    Есть такая хрень - doAction.
    Пишем DoAction("actionName", "SetName") и все работает! Ура! Ура! Ура!
    ationName - имя экшына, а SetName - имя папочки в которой он лежит.
     
  3. monter

    monter Знаток

    С нами с:
    25.04.2005
    Сообщения:
    1.299
    Симпатии:
    0
    Баллы:
    33
    > Людей которые скриптят под Фотошоп я еще не встречал

    Скрипим и не только под PS. Обращяйся!
     
  4. Guest

    Обращаюсь:
    Как программно открыть несколько файлов?

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

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

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

    monter Знаток

    С нами с:
    25.04.2005
    Сообщения:
    1.299
    Симпатии:
    0
    Баллы:
    33
    > а вот как сказать чтобы, что что я получил было открыто пока не соображу.

    Что-то не по русски. Что хочешь получть? Задачу корректнее поставь.
     
  6. Guest

    загрузить в фотошоп несколько файлов хочу. Всего-то делов.
     
  7. monter

    monter Знаток

    С нами с:
    25.04.2005
    Сообщения:
    1.299
    Симпатии:
    0
    Баллы:
    33
    что мешает вместо selectDialog использовать
    File.openDialog()
     
  8. Guest

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

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

    может опредилимся?
     
  9. Guest

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

    А вопрос был - как загрузить несколько файлов?
     
  10. Guest

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

    Все, разобрался кажись.
    Всем спасибо.


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

    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. Guest

    Burarum wrote:

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

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

    Достаточно интересно:

    What’s new in Photoshop CS2 Scripting

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

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


     
  14. Guest

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

    Желательно посмотреть файлы JavaScriptReferenceGuide.pdf и т.д.
     
  15. Guest

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

    А какого вида строку возвращает OpenDialog на Дельфи, которое не понятно тут при чем.
     
  17. Guest

    Если написать:

    ListBox1.Items.Add(OpenDialog2.FileName);

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

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

    Как их поделить по очереди и расставить в строки ListBox?
     
  18. Guest

    Какого вида строку возвращает OpenDialog, который слава богу не на дельфи, а на яве.

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

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

    Всё оказывается очень просто!

    Сначала 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/
     
  20. Guest

    Да, но при чем тут дельфи или это visual java?
     
Модераторы: Mic Nau

Поделиться этой страницей