вопрос по скриптам

  • Автор темы Автор темы Amouse
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Amouse

Участник
Топикстартер
Сообщения
4
Реакции
0
кто-нибудь делал в скриптах фотошопа следующие вещи:
- опросить из скрипта - есть ли в фотошопе определенный экшен;
- запуск сторонней программы;

если делал, можно увидеть фрагменты кода?
 
Ответ: вопрос по скриптам

1 ни разу не делал
2 код ниже:
var fileName = File.openDialog("Open Programm", "*.exe:*.exe");
var f = File(fileName);
if (f.open("r")){
f.execute("");
f.close();
}
 
Ответ: вопрос по скриптам

На VB.
1. Криво, но работало
Код:
Set myActions = PhotoshopTypeLibrary.PhotoshopApplication.Actions
For i = 1 To myActions.Count
    If myActions.Item(i).Name = "actionName" then
        ' найден
    End If
Next
 
Ответ: вопрос по скриптам

Хаа !!!... )))))
е-мое.. я даже и в страшных снах не видел скрипты у шопа... даже такое бывает.. не знал...
а зачем?
 
Ответ: вопрос по скриптам

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

Kuzmin сказал(а):
На VB.
Код:
Set myActions = PhotoshopTypeLibrary.PhotoshopApplication.Actions
Next

А что такое PhotoshopTypeLibrary??
в help`е такого объекта нет. Мне надо понимать, чтобы "перевести" это на java.
И разве Application не корневой объект?
 
Ответ: вопрос по скриптам

shaks сказал(а):
Хаа !!!... )))))
е-мое.. я даже и в страшных снах не видел скрипты у шопа... даже такое бывает.. не знал...
а зачем?
хех, парень!
имеем к примеру 100 макетов в каждом из которых по 7 слоёв. надо каждый слой сохранить в отдельный файл. если вы будете это делать ручками, то я завидую вашему мужеству и терпению! а можно воспользоваться стандартным скриптом и идти пить кофе.
а если вы в страшных снах не видали шоповские скрипты, то рекомендую посмотреть меню "файл". это такая пимпа в левом верхнем углу окна программы
 
Ответ: вопрос по скриптам

Amouse сказал(а):
А что такое PhotoshopTypeLibrary??
в help`е такого объекта нет. Мне надо понимать, чтобы "перевести" это на java.
И разве Application не корневой объект?
Application корневой объект Object Library (файл: Photoshop CS\Plug-Ins\Adobe Photoshop Only\Automate\ScriptingSupport.8li), а PhotoshopApplication корневой объект Type Library (файл: C:\Program Files\Adobe\Adobe Photoshop CS\TypeLibrary.tlb).

Я точно не помню, ковырялся года полтора назад или больше, еще для 7-о шопа, потом перетащил без изменений в CS. Помню только, что долго не мог добраться до actions и удалось только так.

Но работает это. как я и говорил, криво. Кривизна заключалась в следующем:
При повторном запуске утилиты и попытке обратиться к Actions (Set myActions = PhotoshopTypeLibrary.PhotoshopApplication.Actions), если и при первом запуске такое обращение происходило утилита вываливается с сообщением: Run-time error '-2147023898(800703e6): Automation error, при всех последующих(!) запусках это действие отрабатывается нормально.

Сказанное о кривизне метода или моих рук верно для v.7 и кажется CS.
Был бы рад узнать что-то новое (более правильное) о actions в скриптах.
 
Ответ: вопрос по скриптам

Господа,ну очень нужен скриптик "Merge all Group" для CS2.
Поможите кто чем может,мозоль на пальцах от Ctrl-E.Надо слить содержимое каждой группы в отдельный слой.
 
Ответ: вопрос по скриптам

chesen сказал(а):
Господа,ну очень нужен скриптик "Merge all Group" для CS2.
Поможите кто чем может,мозоль на пальцах от Ctrl-E.Надо слить содержимое каждой группы в отдельный слой.

Так?

Код:
// enable double clicking from the Macintosh Finder or the Windows Explorer
#target photoshop

// in case we double clicked the file
app.bringToFront();

// debug level: 0-2 (0:disable, 1:break on error, 2:break at beginning)
// $.level = 2;
// debugger; // launch debugger on next line

//=================================================================
// Globals
//=================================================================

///////////////////////////////////////////////////////////////////////////////
// Dispatch
///////////////////////////////////////////////////////////////////////////////

main();


///////////////////////////////////////////////////////////////////////////////
// Functions
///////////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////////////
// Function: main
// Usage: the core routine for this script
// Input: <none>
// Return: <none>
///////////////////////////////////////////////////////////////////////////////
function main() {

 var docName = app.activeDocument.name;
 var doc1 = app.documents[docName];
 var layerSetsCount = doc1.layerSets.length;

 for( var i = 0; i < layerSetsCount; i++ )	// run all group
 {
 	doc1.layerSets[0].merge();		// one group
 }
}

//===== END
 
Ответ: вопрос по скриптам

Сейчас буду пробовать. В любом случае спасибо!!!
 
Ответ: вопрос по скриптам

Нашел скрипт, который выводит окно со съемочной информацией о документе. Но вся информация мне не нужна. Подскажите, пожалуйста, как выводить только следущие пункты:
1. модель камеры
2. чувствительность (ISO)
3. выдержку
4. диафрагму
5. установки баланса белого

Оригинальный скрипт ниже. Спасибо, большое.

//========STARTS HERE=======
//
// EXIF Info extraction (c) 2004 M.SKAD
//========================
var savedUnits=app.preferences.rulerUnits;
var thisDoc=app.activeDocument;
app.preferences.rulerUnits=Units.PIXELS;

//==============================
// Include EXIF info
//==============================
var exif_info="";

for (var e = 0; e < thisDoc.info.exif.length; e++){
try {

exif_info = exif_info + thisDoc.info.exif[e][0] + " = " + thisDoc.info.exif[e][1] + "\r";

}
catch (e) {}
}

alert(thisDoc.info.exif);

//========ENDS HERE===============
 
Статус
Закрыто для дальнейших ответов.