Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅

Π—Π°ΠΏΠΈΡΡŒ дСйствий Π² Photoshop CS6 ΠΈ CC Π² скрипт

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ Π² Photoshop Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ дСйствия, Π½ΠΎ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ события, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π² Π€ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, Π² скрипт! Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π½Π΅ знаСшь, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ Ρ‚ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ΅ дСйствиС.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Для Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ понимания ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°, смотритС Π²ΠΈΠ΄Π΅ΠΎ Π²Π½ΠΈΠ·Ρƒ этой странички.

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Photoshop записывал свои дСйствия, слСдуСт Π² ΠΏΠ°ΠΏΠΊΡƒ C:\Program Files\Adobe\Adobe Photoshop CS6\Plug-ins ΠΈΠ»ΠΈ C:\Program Files\Adobe\Adobe Photoshop CS6 (64 Bit)\Plug-ins для 64-Ρ… Π±ΠΈΡ‚Π½ΠΎΠ³ΠΎ Π€ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ° ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» ScriptListener.8li. Π’ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½ΠΈΡ… вСрсиях ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ этот Ρ„Π°ΠΉΠ» размСщался Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Files\Adobe\Adobe Photoshop CS5\Scripting\Utilities, Π° для CS6 Π΅Π³ΠΎ придётся ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ сайтС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ»ΠΈ ΠΏΠΎ ссылкам Π²Π½ΠΈΠ·Ρƒ этой страницы.

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅. zapis deystviy vp cs6 v skript. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅ Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅-zapis deystviy vp cs6 v skript. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° zapis deystviy vp cs6 v skript

Π― ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡΡŒ JavaScript, поэтому Π΄Π°Π»Π΅Π΅ Π±ΡƒΠ΄Ρƒ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚.

Π˜Ρ‚Π°ΠΊ, ΠΏΠ΅Ρ€Π΅Π΄ записью событий ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» ScriptingListenerJS.log Π² любом тСкстовом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅, ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ всС ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ Π² Π½Ρ‘ΠΌ записи ΠΈ сохранитС Π΅Π³ΠΎ. Π—Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄ΠΈΡ‚Π΅ Π½ΡƒΠΆΠ½Ρ‹Π΅ дСйствия Π² Photoshop`Π΅.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽ Ρ„Π°ΠΉΠ» ScriptingListenerJS.log ΠΈ Π²ΠΈΠΆΡƒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ убСдимся, Ρ‡Ρ‚ΠΎ Π² ΠΊΠΎΠ΄Π΅ содСрТатся ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π΅ дСйствия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΠ».

Для этого ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄, ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² Ρ„Π°ΠΉΠ»Π΅ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ jsx, Π·Π°Ρ‚Π΅ΠΌ просто ΠΌΡ‹ΡˆΠΊΠΎΠΉ ΠΏΠ΅Ρ€Π΅Ρ‚Π°Ρ‰ΠΈΡ‚ΡŒ этот Ρ„Π°ΠΉΠ» Π² Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ ΠΎΠΊΠ½ΠΎ Π€ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ°.

Π›ΠΈΠ±ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Adobe ExtendScript Toolkit CS6, ΠΈΠ½ΡΡ‚Π°Π»Π»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉΡΡ ΠΏΡ€ΠΈ установкС Photoshop CS6, Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π² Π»Π΅Π²ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΠ³Π»Ρƒ «Adobe Photoshop CS6», Π·Π°Ρ‚Π΅ΠΌ Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «Start running the script» (Π·Π΅Π»Ρ‘Π½Ρ‹ΠΉ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ).

Π’ любом случаС, Π€ΠΎΡ‚ΠΎΡˆΠΎΠΏ воспроизвСдёт дСйствия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ записал.

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π²ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°ΠΌ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ScriptListener.8li для Photocsop CS6 ΠΈ CC для Win32 ΠΈ win64:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠžΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ срСдствами Photoshop ΠΈ ExtendScript Toolkit

Нам понадобится

ВСория

Π£ Photoshop-Π° Π΅ΡΡ‚ΡŒ COM API, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠΊΡ€Ρ‹Ρ‚Ρ‹ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠΎΠ²ΡΠΊΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π•Π³ΠΎ, разумССтся, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ· JS- ΠΈΠ»ΠΈ VBS-скриптов. Adobe любСзно прСдоставила Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ свою IDE, с Π°Π²Ρ‚ΠΎΠΊΠΎΠΏΠΌΠ»ΠΈΡ‚ΠΎΠΌ ΠΈ Π±Ρ€Π΅ΠΉΠΊΠΏΠΎΠΈΠ½Ρ‚Π°ΠΌΠΈ. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ языки Π² Π½Π΅ΠΉ JScript, VBScript (Win) ΠΈ AppleScript (Mac). Π― остановился Π½Π° JScript, ΠΏΠΎΡ‚ΠΎΠΌΡƒ ΠΊΠ°ΠΊ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Ρƒ Π±ΡƒΠ΄Π΅Ρ‚ Π»ΡƒΡ‡ΡˆΠ΅ всСго понятСн ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½.

Π£Π΄ΠΎΠ±Π½ΠΎ, особСнно Ссли Π½Π°Π΄ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипт для Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ° ΠΏΠΎΠ΄ Π·Π°ΠΊΠ°Π· ΠΈ Π½Π΅ хочСтся Π΄Π°Π²Π°Ρ‚ΡŒ исходники. Насчёт возмоТности Π΅Π³ΠΎ дСкомпиляции я Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Π½Π΅ разбирался, Π½ΠΎ Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΎΠ½ мСняСт ΠΈ ΠΊΠΎΠ΅-ΠΊΠ°ΠΊΡƒΡŽ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ всё-Ρ‚Π°ΠΊΠΈ Π΄Π΅Π»Π°Π΅Ρ‚.
Π˜Ρ‚Π°ΠΊ, IDE Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд нСудобная, Π½ΠΎ ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°Π² Π² Π½Π΅ΠΉ ΠΌΠΈΠ½ΡƒΡ‚ 30, ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ°Π΅ΡˆΡŒ.

Π‘ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²Ρ‹ΠΉ язык

Π’.ΠΊ. ExtendScript кроссплатформСнный, ΠΏΡƒΡ‚ΠΈ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ /d/Temp/…

Π–ΠΈΠ²ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€

#target photoshop
app.bringToFront(); // запускаСм Photoshop. Если ΠΎΠ½ ΡƒΠΆΠ΅ Π·Π°ΠΏΡƒΡ‰Π΅Π½, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠΌΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊ Π½Π΅ΠΌΡƒ, Π½Π΅ ΠΊ Π½ΠΎΠ²ΠΎΠΌΡƒ инстансу.
var Constants = < /* ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ ΠΊΠΎΠ΅-ΠΊΠ°ΠΊΠΈΠ΅ константы */ >
ProcessDir(Constants.InputDir, Constants.OutputDir);
function ProcessDir(dir, outDir) <
var folder = Folder(dir); // Adobe-овский ΠΎΠ±ΡŠΠ΅ΠΊΡ‚
var files = folder.getFiles(Constants.FileMask); // Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π΄Π²Π΅ маски Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ (*.jpg,*.png) ΡƒΠΆΠ΅ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚.
var outFolder = Folder(outDir);
if (!outFolder.exists) <
if (!outFolder.create()) <
alert( «Cannot create output folder» );
return ; // ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ
>
>
var totalFiles = 0;
for ( var fileNum in files) <
var outFile = GetOutputFileName(files[fileNum], outFolder.fullName); // ΠΊΡƒΠ΄Π° ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚
AddLogoToFile(files[fileNum], outFile); // собствСнно, сама ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°
totalFiles++;
>
alert(totalFiles + » files processed» ); // ΡƒΠ²ΠΈΠ΄ΠΈΡ‚ ΡŽΠ·Π΅Ρ€ Π² Photoshop-Π΅ Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ
>
function AddLogoToFile(file, outputFile) <
var photoFile = File(file); // Π’Π°ΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ„Π°ΠΉΠ»Ρ‹, строчку open Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚
var logoFile = File(Constants.AddLogo.LogoPath);

app.open(logoFile); // ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Π»ΠΎΠ³ΠΎ
app.activeDocument.artLayers[ «Text» ].copy(); // ArtLayers – слои Π² Ρ„Π°ΠΉΠ»Π΅. Π­Ρ‚ΠΎΡ‚ слой назывался «Text»
var logoWidth = app.activeDocument.width. as ( «px» );
var logoHeight = app.activeDocument.height. as ( «px» );
app.activeDocument.close();

app.open(photoFile); // ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ„ΠΎΡ‚ΠΊΡƒ

var width = app.activeDocument.width. as ( «px» );
var height = app.activeDocument.height. as ( «px» );

var logoLayer = app.activeDocument.artLayers.add(); // добавляСм Π½Π° Ρ„ΠΎΡ‚ΠΊΡƒ Π½ΠΎΠ²Ρ‹ΠΉ слой, ΠΊΡƒΠ΄Π° помСстим Π»ΠΎΠ³ΠΎ
logoLayer.name = «Logo» ; // Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ слоя

app.activeDocument.paste(); // вставляСм Π»ΠΎΠ³ΠΎ ΠΈΠ· clipboard

var minImageDimension = Math.min(width, height); // ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌ Π»ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π² 5 Ρ€Π°Π· мСньшС минимального Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Ρ„ΠΎΡ‚ΠΊΠΈ
var logoScaleMultiplier = minImageDimension / 5 / logoWidth * 100;
app.activeDocument.selection.resize(logoScaleMultiplier, logoScaleMultiplier, AnchorPosition.BOTTOMRIGHT); // ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° послСдний Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚

app.activeDocument.artLayers[ «Logo» ].opacity = 75; // Π΄Π΅Π»Π°Π΅ΠΌ слой ΠΏΠΎΠ»ΡƒΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹ΠΌ
app.activeDocument.artLayers[ «Logo» ].blendMode = BlendMode.LUMINOSITY; // устанавливаСм Ρ€Π΅ΠΆΠΈΠΌ смСшивания, Ρ‡Ρ‚ΠΎΠ±Ρ‹ выглядСло симпатичнСС
// Π° Π²ΠΎΡ‚ Ρ‚ΡƒΡ‚ Π±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ blending options! Об этом Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ дальшС.
SaveFile(outputFile); // сохранит ΠΈ Π·Π°ΠΊΡ€ΠΎΠ΅Ρ‚ Ρ„Π°ΠΉΠ»
>

Π‘ΠΊΡ€ΠΈΠΏΡ‚ Π³ΠΎΡ‚ΠΎΠ². ΠžΡΡ‚Π°Π»ΠΎΡΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΎ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ PSD – Ρ‚Π°ΠΊΠΎΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π±Ρ‹Π» слой Text, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΎ Π»ΠΎΠ³ΠΎ.
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ получится:
Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅. f83f77c0. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅ Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅-f83f77c0. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° f83f77c0
ΠŸΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ скрипт Π²Ρ‹Π»ΠΎΠ»ΠΆΠΈΠ» Π½Π° pastebin.

О грустном

НСмного ΠΎ Π½Π΅Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ API

var idsetd = charIDToTypeID( «setd» );
var desc15 = new ActionDescriptor();
var idnull = charIDToTypeID( «null» );
var ref6 = new ActionReference();
var idPrpr = charIDToTypeID( «Prpr» );
var idLefx = charIDToTypeID( «Lefx» );
ref6.putProperty( idPrpr, idLefx );
var idLyr = charIDToTypeID( «Lyr » );
var idOrdn = charIDToTypeID( «Ordn» );
var idTrgt = charIDToTypeID( «Trgt» );
ref6.putEnumerated( idLyr, idOrdn, idTrgt );
desc15.putReference( idnull, ref6 );
var idT = charIDToTypeID( «T » );
var desc16 = new ActionDescriptor();
var idScl = charIDToTypeID( «Scl » );
var idPrc = charIDToTypeID( «#Prc» );
desc16.putUnitDouble( idScl, idPrc, 100.000000 );
var idDrSh = charIDToTypeID( «DrSh» );
var desc17 = new ActionDescriptor();
var idenab = charIDToTypeID( «enab» );
desc17.putBoolean( idenab, true );
var idMd = charIDToTypeID( «Md » );
var idBlnM = charIDToTypeID( «BlnM» );
var idMltp = charIDToTypeID( «Mltp» );
desc17.putEnumerated( idMd, idBlnM, idMltp );
var idClr = charIDToTypeID( «Clr » );
var desc18 = new ActionDescriptor();
var idRd = charIDToTypeID( «Rd » );
desc18.putDouble( idRd, 0.000000 );
var idGrn = charIDToTypeID( «Grn » );
desc18.putDouble( idGrn, 0.000000 );
var idBl = charIDToTypeID( «Bl » );
desc18.putDouble( idBl, 0.000000 );
var idRGBC = charIDToTypeID( «RGBC» );
desc17.putObject( idClr, idRGBC, desc18 );
var idOpct = charIDToTypeID( «Opct» );
var idPrc = charIDToTypeID( «#Prc» );
desc17.putUnitDouble( idOpct, idPrc, 75.000000 );
var iduglg = charIDToTypeID( «uglg» );
desc17.putBoolean( iduglg, true );
var idlagl = charIDToTypeID( «lagl» );
var idAng = charIDToTypeID( «#Ang» );
desc17.putUnitDouble( idlagl, idAng, 120.000000 );
var idDstn = charIDToTypeID( «Dstn» );
var idPxl = charIDToTypeID( «#Pxl» );
desc17.putUnitDouble( idDstn, idPxl, 5.000000 );
var idCkmt = charIDToTypeID( «Ckmt» );
var idPxl = charIDToTypeID( «#Pxl» );
desc17.putUnitDouble( idCkmt, idPxl, 0.000000 );
var idblur = charIDToTypeID( «blur» );
var idPxl = charIDToTypeID( «#Pxl» );
desc17.putUnitDouble( idblur, idPxl, 5.000000 );
var idNose = charIDToTypeID( «Nose» );
var idPrc = charIDToTypeID( «#Prc» );
desc17.putUnitDouble( idNose, idPrc, 0.000000 );
var idAntA = charIDToTypeID( «AntA» );
desc17.putBoolean( idAntA, false );
var idTrnS = charIDToTypeID( «TrnS» );
var desc19 = new ActionDescriptor();
var idNm = charIDToTypeID( «Nm » );
desc19.putString( idNm, «Linear» );
var idShpC = charIDToTypeID( «ShpC» );
desc17.putObject( idTrnS, idShpC, desc19 );
var idlayerConceals = stringIDToTypeID( «layerConceals» );
desc17.putBoolean( idlayerConceals, true );
var idDrSh = charIDToTypeID( «DrSh» );
desc16.putObject( idDrSh, idDrSh, desc17 );
var idLefx = charIDToTypeID( «Lefx» );
desc15.putObject( idT, idLefx, desc16 );
executeAction( idsetd, desc15, DialogModes.NO );

Как Π²Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ этот ΠΊΠΎΠ΄? Он добавляСт Ρ‚Π΅Π½ΡŒ (Drop Shadow) ΠΊ слою, это Π²ΠΈΠ΄Π½ΠΎ ΠΏΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Β«DrShΒ». Π― ΠΏΠΎΠ΄ΠΎΠ·Ρ€Π΅Π²Π°ΡŽ, Ρ‡Ρ‚ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ Photoshop-Π° прямо Ρ‚Π°ΠΊ ΠΈ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Ρ‹ Π² GUI.
Но, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² этот ΠΊΠΎΠ΄, ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.
МоТно Π½Π°ΠΉΡ‚ΠΈ, Ρ‡Ρ‚ΠΎ executeAction ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ, Ρ‚Π°ΠΊ ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΌΠΎΠ»Ρ‡Π° (это опрСдСляСт послСдний ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€). Π‘Π°ΠΌΠΈ ID-шники Π½ΠΈΠ³Π΄Π΅ Π½Π΅ описаны, ΠΎ Π½ΠΈΡ… (ΠΊΠ°ΠΊ ΠΈ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ с Π½ΠΈΠΌΠΈ Π² CS6) ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π³Π°Π΄Π°Ρ‚ΡŒ.
Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Ρ„ΠΈΡ‡Π° логгирования дСйствий довольно интСрСсная, Ссли ΠΎΡ‡Π΅Π½ΡŒ Π½Π°Π΄ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ-быстрому Π½Π°ΠΊΠΈΠ΄Π°Ρ‚ΡŒ скриптик для сСбя.

Π•Ρ‰Ρ‘ скрипты

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½Ρ‹Π΅ Ρ„Π°ΠΊΡ‚Ρ‹

Π’Ρ‹Π²ΠΎΠ΄Ρ‹

API вкусноС, ΠΎΡ‡Π΅Π½ΡŒ вкусноС. Но отсутствиС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ blending options сильно ΡƒΠ΄Ρ€ΡƒΡ‡Π°Π΅Ρ‚; Ссли ΠΎΠ½ΠΈ Π½ΡƒΠΆΠ½Ρ‹ – Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ придётся Π²ΠΎΠ·ΠΈΡ‚ΡŒΡΡ со ΡΡ‚Ρ€Π°ΡˆΠ½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. Если всё, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½Π°Π΄ΠΎ (Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΈ Π½Π°Π΄ΠΎ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв ΠΎΡ‚ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ) – обвСсти ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ€Π°ΠΌΠΎΡ‡ΠΊΠΎΠΉ, Π΄ΡƒΠΌΠ°ΡŽ, ImageMagick Π² этом случаС Π±ΡƒΠ΄Π΅Ρ‚ быстрСС ΠΈ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅.

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅. image loader. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅ Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loaderΡ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹, гистограммы
Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅. image loader. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅ Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loaderRAW
Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅. image loader. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅ Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loadercolor profiles, ΠΊΠ°ΠΊ Π² Photoshop-Π΅
Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅. image loader. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅ Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loaderjavascript – ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ, понятный ΠΏΠΎΡ‡Ρ‚ΠΈ всСм язык
Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅. image loader. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅ Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loaderдокумСнтация с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ
Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅. image loader. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅ Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loaderотсутствиС blending options
Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅. image loader. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅ Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loaderдля Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½ΡƒΠΆΠ΅Π½ Photoshop /* Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ */
Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅. image loader. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅ Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loaderΡ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ довольно ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ

ΠŸΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ

Adobe Photoshop Scripting – ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ рСсурс
Scripting Photoshop – нСбольшой, Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ Ρ‚ΡŒΡŽΡ‚ΠΎΡ€ΠΈΠ°Π» ΠΏΠΎ скрпитингу Π² Photoshop
PS-Scripts – Ρ„ΠΎΡ€ΡƒΠΌ ΠΎ скриптах для Photoshop

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠšΠΈΡ€ΠΏΠΈΡ‡ΠΈΠΊΠΈ скриптов для Photoshop Ρ‡Π°ΡΡ‚ΡŒ 1

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ настройки Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.

preferences.rulerUnits = Units.MM; //ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π² Π΅Π΄ΠΈΠ½ΠΈΡ†Π°Ρ… изрСнСния
preferences.typeUnits = TypeUnits.MM; //Π·Π°Π΄Π°Ρ‚ΡŒ для ΡˆΡ€Ρ„ΠΈΠΎΠ² Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ измСрСния

function GetDocumentBitsPerChannel()<
var Bits =0;
if (app.activeDocument.bitsPerChannel == BitsPerChannelType.ONE) Bits = 1;
if (app.activeDocument.bitsPerChannel == BitsPerChannelType.EIGHT) Bits = 8;
if (app.activeDocument.bitsPerChannel == BitsPerChannelType.SIXTEEN) Bits = 16;
if (app.activeDocument.bitsPerChannel == BitsPerChannelType.THIRTYTWO) Bits = 32;
return Bits;
>

Ѐункция GetDocumentBitsPerChannel() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ значСния битности Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΅ΡΡ‚ΡŒ Π»ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.

if (app.documents.length == 0) <
alert(» Π½Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° «)
>
else <
alert (» Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ основного ΠΊΠΎΠ΄Π° «)
>

Окно Π²Π²ΠΎΠ΄Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

var myInput = prompt(» Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: «, » Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ «);
alert(» Π’Π²Π΅Π΄Π΅Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ » + myInput);

Окно для Π²Π²ΠΎΠ΄Π° значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΅ΡΡ‚ΡŒ Π»ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅.

var GetSelect = 1;
try
catch (a) ;
if (GetSelect==0 ) <
alert (» ВыдСлСния Π½Π΅Ρ‚ «);
>
else <
alert (» Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΅ΡΡ‚ΡŒ «);
>

Окно сообщСния с ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ дСйствия ДА НЕВ.

var myResult = confirm(« Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Π½Π΅ сохранСн. Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ сСйчас? «)
if (myResult == true) <
alert(» Π½Π°ΠΆΠ°Ρ‚ΠΎ ДА «)
>
else <
alert(» НаТато НЕВ «)
>

Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ слой ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ слоя

var D01 = new ActionDescriptor();
var R01 = new ActionReference();
R01.putName( 1283027488, » имя слоя » );
D01.putReference( 1853189228, R01 );
D01.putEnumerated( stringIDToTypeID( «selectionModifier» ), stringIDToTypeID( «selectionModifierType» ), stringIDToTypeID( «addToSelection» ) );
executeAction( 1936483188, D01, DialogModes.NO );

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΈ полоТСния слоя
Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ всю ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°Ρ… ΠΈ полоТСнию Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ слоя:

ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ слоя:

значСния ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΈ высоты находятся Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… width ΠΈ height соотвСтствСнно

ИзмСнСниС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ слоя Π² ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π°Ρ….
Π Π°Π·ΠΌΠ΅Ρ€ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π½Π΅ измСняСтся.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠŸΠΎΠ³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡΡ Π² скриптинг
для Π€ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ°

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅. 1* F1uAW 1Cak19Fz3ZKesaA. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅ Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅-1* F1uAW 1Cak19Fz3ZKesaA. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 1* F1uAW 1Cak19Fz3ZKesaA

ΠŸΠΈΡΠ°Ρ‚ΡŒ скрипты для Π€ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ°, Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ, Π½ΡƒΠ΄Π½ΠΎ ΠΈ больно (ΠΏΡ€ΠΈΠ²Π΅Ρ‚ многочислСнным Π±Π°Π³Π°ΠΌ ΠΈ индийским Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ). Но Π±Ρ‹Π²Π°Π΅Ρ‚ ΡƒΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ. А Ссли Π²Ρ‹ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с JavaScript, Ρ‚ΠΎ ΠΈ достаточно Π»Π΅Π³ΠΊΠΎ.

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ°

Π’Π°ΠΌ понадобится ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Adobe ExtendScript Toolkit, ваш Π€ΠΎΡ‚ΠΎΡˆΠΎΠΏ ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ усСрдия.

ПослС установки запускаСм ExtendScript Toolkit ΠΈ Π² Π»Π΅Π²ΠΎΠΌ-Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΠ³Π»Ρƒ мСняСм β€œExtendScript Toolkit CC” ΠΈΠ· Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню Π½Π° Π€ΠΎΡ‚ΠΎΡˆΠΎΠΏ. Π”Π΅Π»Π°Π΅ΠΌ это для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ Π·Π΅Π»Ρ‘Π½ΠΎΠΉ стрСлочки наш скрипт запускался Π² Π€ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅.

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅. 1*7mw7J4dnZXOk6Y1dXTH8Kg. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅ Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅-1*7mw7J4dnZXOk6Y1dXTH8Kg. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 1*7mw7J4dnZXOk6Y1dXTH8Kg

НС Π±ΡƒΠ΄Π΅ΠΌ Π²Π½ΠΈΠΊΠ°Ρ‚ΡŒ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΡƒΡŽ модСль Π€ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ° ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΠ΅ слоТныС Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹, ΠΏΡ€ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ смоТСтС ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ (Π΄Π°ΠΆΠ΅ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ). Бсылки Π΅ΡΡ‚ΡŒ Π² ΠΊΠΎΠ½Ρ†Π΅ поста.

Π Π°Π±ΠΎΡ‚Π° с Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ слоСм

Π§Π°Ρ‰Π΅ всСго ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Ρ‡Ρ‚ΠΎ-Π»ΠΈΠ±ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ слоСм. Для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π€ΠΎΡ‚ΠΎΡˆΠΎΠΏΡƒ ( app), Π·Π°Ρ‚Π΅ΠΌ ΠΊ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌΡƒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρƒ ( activeDocument) ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ слою ( activeLayer).

Π£ слоя Π΅ΡΡ‚ΡŒ свойства ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ (выполняСмыС дСйствия), ΠΊΠ°ΠΊ ΠΈ Ρƒ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΊΠ°Π½Π°Π»ΠΎΠ², тСкста, Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹Ρ… шСйпов, …).

НапримСр, Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ имя слоя β€” Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ свойству name.

А Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ слой:

Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ слой β€” свойство visible.

ΠŸΠΎΠ΄Π²ΠΈΠ³Π°Ρ‚ΡŒ содСрТимоС слоя ΠΏΠΎ холсту β€” ΠΌΠ΅Ρ‚ΠΎΠ΄ translate.

А Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Π²Π°Ρ‚ΡŒ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ содСрТимого ( bounds), ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ слоя ( opacity) ΠΈ Π·Π°Π»ΠΈΠ²ΠΊΠΈ ( fillOpacity), Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ( duplicate), ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ( resize) ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

ΠŸΠΎΠ»Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ свойств ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² для всСх доступных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, ссылку Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ я ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠΈΠ» Π² ΠΊΠΎΠ½Ρ†Π΅ поста.

УслоТняСм Π·Π°Π΄Π°Ρ‡Ρƒ

Допустим, Ρƒ нас Π΅ΡΡ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ с тСкстовым слоСм (Π² Π½Ρ‘ΠΌ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ написано).

Π§Ρ‚ΠΎ Π±Ρ‹ сходу ΠΎΠΊΡƒΠ½ΡƒΡ‚ΡŒΡΡ с Π³ΠΎΠ»ΠΎΠ²ΠΎΠΉ Π² скриптинг, напишСм ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ·Π½Π°Π²Π°Ρ‚ΡŒ ΡˆΡ€ΠΈΡ„Ρ‚, Ρ€Π°Π·ΠΌΠ΅Ρ€, ΠΈΠ½Ρ‚Π΅Ρ€Π»ΠΈΠ½ΡŒΡΠΆ ΠΈ Ρ†Π²Π΅Ρ‚ написанного тСкста ΠΈ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΈΡ… Π² имя слоя. ΠšΠ°ΠΊΠΎΠΌΡƒ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π²Π΅Ρ€ΡΡ‚Π°Π»ΡŒΡ‰ΠΈΠΊΡƒ Π±ΡƒΠ΄Π΅Ρ‚ приятно.

ПослС выполнСния Ρ‚Π°ΠΊΠΎΠ³ΠΎ скрипта имя нашСго слоя прСвратится Π² Π½Π΅Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅:

ArialMT, 14 pt, #000000

Или Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Ρ‘Ρ‚, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡ‚ΡŒΡΡ с нашим ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π±Π°Π³ΠΎΠΌ Π€ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ°. ☺

Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ссли ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ тСкстовый слой ΠΈ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π΅ΠΌΡƒ Ρ†Π²Π΅Ρ‚, Π° ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½Ρ‹ΠΉ Ρ‡Ρ‘Ρ€Π½Ρ‹ΠΉ (#000000), Ρ‚ΠΎ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Π€ΠΎΡ‚ΠΎΡˆΠΎΠΏ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ Π±Π°Π³ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ СдинствСнный, Π½ΠΎ, Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ, ΠΎΠ½ΠΈ ΠΏΠΎΠ±Π΅ΠΆΠ΄Π°ΡŽΡ‚ΡΡ довольно Π»Π΅Π³ΠΊΠΎ β€” ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ javascript-конструкции β€œtry…catch”. Данная синтаксичСская конструкция пытаСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ кусок ΠΊΠΎΠ΄Π° прописанный Π² try, Π° Ссли Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ошибка β€” выполняСт кусок ΠΊΠΎΠ΄Π° ΠΈΠ· catch.

Π˜Ρ‚Π°ΠΊ, фиксим Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Ρ†Π²Π΅Ρ‚Π°:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ наш ΠΊΠΎΠ΄ Ρ‚ΠΎΡ‡Π½ΠΎ сработаСт.

Π­Ρ‚ΠΎ ΡƒΠΆΠ΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅Π΅ Π½Π° Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, Π½ΠΎ ΠΌΡ‹ ΠΏΠΎΠΉΠ΄Ρ‘ΠΌ дальшС ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΅Ρ‰Ρ‘ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ°Π³ΠΈΠΈ.

НиТС Ρ„ΠΈΠ½Π°Π»ΡŒΠ½Π°Ρ вСрсия скрипта Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ я ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ Π²Π°ΠΌ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ.

Π’ ΠΈΡ‚ΠΎΠ³Π΅, имя нашСго слоя прСвратится Π² Π½Π΅Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅Π΅:

Arial Bold Italic 30px/40px #333000
ΠΈΠ»ΠΈ
PT Sans 18px #ff0000

ΠŸΡ€ΠΎ запуск скриптов ΠΈ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΡ… Π½Π° горячиС клавиши ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Ρƒ. Π›ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ БСргСя ΠŸΠ΅Ρ…Ρ‚Π΅Ρ€Π΅Π²Π°.

ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹

P. S. НС ΠΎΠ±Ρ€Π°Ρ‰Π°ΠΉΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π΄Π°Ρ‚Ρ‹ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ², Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ написания скриптов Π² Π€ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅ появилась Π΅Ρ‰Ρ‘ Π² вСрсии CS2 (2005 Π³ΠΎΠ΄) ΠΈ с Ρ‚Π΅Ρ… ΠΏΠΎΡ€ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ измСнилось. Π’ΠΎ всСх вСрсиях, с CS2 Π΄ΠΎ сСгодняшнСй, ΠΊΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠžΡΠ½ΠΎΠ²Ρ‹ скриптов Π² Photoshop Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ выравнивания Ρ‚ΠΎΠ½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Ρ‚ΠΎΠ²Π°Ρ€Π°

ΠŸΡ€Π΅Π΄ΠΈΡΠ»ΠΎΠ²ΠΈΠ΅: ΡΠΊΡˆΠ΅Π½Ρ‹ Π² Photoshop школьники ΡƒΠΆΠ΅ освоили, ΠΈ Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ Π»ΠΎΠ³ΠΎΡ‚ΠΈΠΏΡ‹ своих ΠΏΠ°Π±Π»ΠΈΠΊΠΎΠ² Π½Π° тысячи ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅Π²ΠΎΡ‡ΠΊΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ Ρ„ΠΎΡ‚ΠΎ с пляТСй. ΠŸΠΎΡ€Π° Π±Ρ‹ Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π±ΠΎΠ»Π΅Π΅ слоТноС? Π Ρ‹Π½ΠΎΠΊ, ΠΊΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡ‚Π΅, растСт : )

Π’ Photoshop для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ сущСствуСт Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½, Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹ΠΉ инструмСнт β€” язык программирования JavaScript. Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Π°ΠΌ потрСбуСтся Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ скриптинг для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ ΠΈ избавлСния ΠΎΡ‚ Ρ€ΡƒΡ‚ΠΈΠ½Ρ‹. Π­Ρ‚ΠΎ Π½ΠΈ Π² ΠΊΠΎΠ΅ΠΌ случаС Π½Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Π½Π΅ Π±ΠΎΠΉΡ‚Π΅ΡΡŒ. Для освоСния Π²Π°ΠΌ потрСбуСтся лишь ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Photoshop CS2 ΠΈ максимум ТСлания ΠΏΡ€ΠΎΠΊΠ°Ρ‡Π°Ρ‚ΡŒ свои скилы.

ΠŸΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ExtendScript Toolkit, которая поставляСтся вмСстС с Photoshop, ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠΎΡƒΡˆΠ½-Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ΠΎΠ² Π΄Π°Π²Π½ΠΎ освСдомлСны ΠΎΠ± этой ΠΈ Π΅Ρ‰Ρ‘ ΠΏΠ°Ρ€Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для написания ΠΊΠΎΠ΄Π°. Π― ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ, поэтому ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ скрипт Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠ΄ Ρ€Π΅Π°Π»ΡŒΠ½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ, которая ΠΏΠ΅Ρ€Π΅Π΄ΠΎ ΠΌΠ½ΠΎΠΉ стояли Π½Π° Ρ€Π°Π±ΠΎΡ‚Π΅.

Π—Π°Π΄Π°Ρ‡Π°: Π² Π»ΡŽΠ±Ρ‹Ρ… ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°Ρ… Π΅ΡΡ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ Ρ‚ΠΎΠ²Π°Ρ€Π°, Π² ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°Ρ… Ρ‚ΠΎΠ²Π°Ρ€ исчисляСтся дСсятками тысяч. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ сидят 2-3 Π΄Π΅Π²ΠΎΡ‡ΠΊΠΈ-Ρ€Π΅Ρ‚ΡƒΡˆΠ΅Ρ€Π° ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ Ρ‚ΠΎΠ²Π°Ρ€Π°: ΠΎΠ±Ρ‚Ρ€Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚, Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ Π±Π΅Π»Ρ‹ΠΉ Ρ„ΠΎΠ½, ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ контраст, Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ отраТСния, Ρ€Π΅Ρ‚ΡƒΡˆΠΈΡ€ΡƒΡŽΡ‚ облоТки… Π½ΠΎ ΡƒΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ΠΈΠ· Π²ΠΈΠ΄Π° ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ – разная Π½Π°ΡΡ‹Ρ‰Π΅Π½Π½ΠΎΡΡ‚ΡŒ, Ρ€Π°Π·Π½Ρ‹ΠΉ контраст, Ρ€Π°Π·Π½Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠΉ баланс ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½ΠΈΠΆΠ΅. ОблоТки явно ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΏΠΎ контрасту, цвСту… Ссли вывСсти срСдниС Ρ‚ΠΎΠ½Π°, Ρ‚ΠΎ ΠΊΠΎΡ€Π½ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π±Ρ€ΠΎΡΠ°ΡŽΡ‚ΡΡ Π² Π³Π»Π°Π·Π°.

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅. 647471. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅ Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅-647471. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 647471

ΠŸΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ изобраТСния ΠΈΠ· Ρ‚Π΅ΠΊΡƒΡ‡ΠΊΠΈ ΠΊ ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΠΎΠΌΡƒ Π²ΠΈΠ΄Ρƒ обязаны тСхничСскиС Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Ρ‹ ΠΈΠ»ΠΈ Ρ€Π΅Ρ‚ΡƒΡˆΠ΅Ρ€Ρ‹, Π½ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, способ достиТСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Π΅Π΄ΡƒΡ‰ΠΈΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я Ρ…ΠΎΡ‡Ρƒ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ своим тСхничСским Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π·Π°Π΄Π°Ρ‡ΠΈ для достиТСния максимально приятного впСчатлСния ΠΎΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-ΠΌΠ°Π³Π°Π·ΠΈΠ½Π° ΠΈΠ»ΠΈ любого Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ рСсурса, ΠΎΠ±Π½ΠΎΠ²Π»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΡ… количСствах.

НачнСм ΠΈΠ·Π΄Π°Π»Π΅ΠΊΠ°. Π§Ρ‚ΠΎ ΠΆΠ΅ Ρ‚Π°ΠΊΠΎΠ΅ JavaScript Π² Photoshop?
Π― Π²Ρ‹Π±Ρ€Π°Π» JS ΠΊΠ°ΠΊ язык для скриптования Π² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°Ρ… Adobe, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ Π½Π° Windows, ΠΈ Π½Π° MAC. Если Π²Ρ‹ ярый ΠΏΡ€ΠΈΠ²Π΅Ρ€ΠΆΠ΅Π½Π΅Ρ† Π²ΠΈΠ½Π΄Ρ‹, Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ бСйсик, Ссли Π²Ρ‹ Π½Π΅ΡƒΠΊΡ€ΠΎΡ‚ΠΈΠΌΡ‹ΠΉ Ρ„Π°Π½Π°Ρ‚ Мака, Ρ‚ΠΎ AppleScript Π² ΠΏΠΎΠΌΠΎΡ‰ΡŒ. А я Π·Π° ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

ΠžΡΠ½ΠΎΠ²Ρ‹:
DOM. Π­Ρ‚ΠΎ Ρ‚Π° ΠΈΠ·Π½Π°Π½ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, которая Π΄Π°Π΅Ρ‚ Π½Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ доступ ΠΊ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌ Photoshop Ρ‡Π΅Ρ€Π΅Π· язык программирования. Π­Ρ‚ΠΎ иСрархичСскоС прСдставлСниС Photoshop, ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π΅Π³ΠΎ части ΠΈ возмоТности, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ изобраТСниями. ВсС Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΌΡ‹ΡˆΠΊΠΎΠΉ, Π²Ρ‹ смоТСтС ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈ скриптом. НапримСр, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ прозрачности слоя, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠΉΡ‚ΠΈΡΡŒ ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ Application> Document> Layer> Opacity, Π° ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ

ВсС довольно Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Layer Comp class ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ просмотром Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… вСрсий ΠΌΠ°ΠΊΠ΅Ρ‚Π° Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅, Ρ‡Ρ‚ΠΎ Π² ΠΎΠ±Ρ‰Π΅ΠΌ Ρ‚ΠΎ ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ инструмСнт Photoshop.

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ подразумСваСтся ΠΏΠΎΠ΄ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ. Π‘Π°ΠΌ Photoshop это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, тСкст это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π½Π°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ°Π½Π°Π» RGB являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ. ВсС, Ρ‡Ρ‚ΠΎ кликаСтся ΠΌΡ‹ΡˆΠΊΠΎΠΉ β€” ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. Допустим, Π²Ρ‹ создали Π½ΠΎΠ²Ρ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, Π° с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Ρ‹ создали Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.
Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅. scheme. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅ Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅-scheme. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° scheme
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования ΠΎΠ±ΡŠΡΡΠ½ΡΡ‚ΡŒ я Π½Π΅ стану, слишком ΠΌΠ½ΠΎΠ³ΠΎ людСй с Π½ΠΈΠΌΠΈ Π·Π½Π°ΠΊΠΎΠΌΡ‹. Если Π²Ρ‹ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹, Ρ‚ΠΎ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π²Π΅Π·Π΄Π΅, начиная c Google play ΠΈ заканчивая Ρ„ΠΎΡ€ΡƒΠΌΠ°ΠΌΠΈ школьников. Для Π·Π°Ρ‚Ρ€Π°Π²ΠΊΠΈ, ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ExtendScript Toolkit ΠΈ Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅: alert(Β«My first Hello Hell!Β» + app.version); ЗапуститС Ρ‡Π΅Ρ€Π΅Π· Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ скриптов, ΠΎΠ±Ρ€Π°Π΄ΡƒΠΉΡ‚Π΅ΡΡŒ своСму ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ скомпилированному ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ. Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ для Adobe Photoshop ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ jsx.

Вводная информация:
ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ var borderWidth = 10
var β€” пСрСмСнная. А borderWidth β€” имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ (ΠΊΠ°ΠΊ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚?).
Π—Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: = 10

Π’ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ скрипта ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈΠΌΠ΅Π΅Ρ‚ смысл ΠΏΠΈΡΠ°Ρ‚ΡŒ строчку #target photoshop, которая Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ скрипт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Photoshop.

Активный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚
Когда Π’Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Photoshop, Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° слоС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚. Для скриптов Ρ‚ΠΎΠΆΠ΅ Π²Π°ΠΆΠ½ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π²Ρ‹Π±Ρ€Π°Π½, Ρ‚.ΠΊ. скрипты Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ создания Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈ Π²Ρ‹Π±ΠΎΡ€ слоя Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ:

var doc_nmb_1 = documents.add(500, 500) var doc_nmb_2 = documents.add(500, 500) //Установим Document 1 ΠΊΠ°ΠΊ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ activeDocument = doc_nmb_1 //Π‘Π΄Π΅Π»Π°Π΅ΠΌ Document 2 Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ activeDocument = doc_nmb_2 //Π”ΠΎΠ±Π°Π²ΠΈΠΌ слоСв ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌ var layer1 = doc_nmb_2.artLayers.add() var layer2 = doc_nmb_2.artLayers.add() //Π‘Π΄Π΅Π»Π°Π΅ΠΌ 1-ΠΎΠΉ слой Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° 2 Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ. ActiveLayer ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈ запись Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ слоя. doc_nmb_2.ActiveLayer = layer1 //Π”Π΅Π»Π°Π΅ΠΌ 2-ΠΎΠΉ слой Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° 2 Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ doc_nmb_2.ActiveLayer = layer2

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° происходит благодаря ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΊΠΎΠ΄Ρƒ, ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ изобраТСния Π² Ρ€Π°Π·ΠΌΠ΅Ρ€Π°Ρ… 72 ΠΈ 144.

var docRef = app.documents.add(72, 72) var otherDocRef = app.documents.add (144,144)

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ Π½Π΅ Ρ‚Π°ΠΊ ΡƒΠΆ ΠΈ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ написанию скрипта. ΠŸΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, это Π²Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π² Π·Π°Π΄Π°Ρ‡Ρƒ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ action для примСнСния ΠΊ Π½ΡƒΠΆΠ½Ρ‹ΠΌ изобраТСниям. Π‘Π΄Π΅Π»Π°Π² это, Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипт.

Главная Ρ„ΠΈΡˆΠΊΠ°: конструкция If Else, которая ΠΈ позволяСт Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ условия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ Π² action. Π£Π²Π΅Ρ€Π΅Π½, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡƒΠΆΠ΅, ΡƒΠ²ΠΈΠ΄Π΅Π² Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Ρ‹ программистов, ΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ if else навСрняка писали, поэтому ΠΏΠΎ основам ΠΌΡ‹ просто пробСТимся:

if(!content) content =”404”;

ΠœΡ‹ провСряСм, Π΅ΡΡ‚ΡŒ Π»ΠΈ Ρƒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ content Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΈ Ссли Π΅Π³ΠΎ Π½Π΅Ρ‚, Ρ‚ΠΎ присваиваСм Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 404. МоТно Ρ€Π°ΡΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Π‘ If ΠΌΡ‹ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ, Π° Ρ‡Ρ‚ΠΎ ΠΆΠ΅ Π΄Π΅Π»Π°Π΅Ρ‚ else? Π’ конструкции else ΠΌΡ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π² Ρ‚ΠΎΠΌ случаС, Ссли Π² if Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ false.

Учитывая это, ΠΌΡ‹ ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ ΠΊΠΎΠ΄ с ΡΠΎΠ±Ρ‹Ρ‚ΠΈΠΉΠ½ΠΎΡΡ‚ΡŒΡŽ:

Как Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅, Ссли ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ равняСтся ΠΏΠΎ высотС 2480px, Ρ‚ΠΎ просто выскакиваСт Ρ€ΡƒΠ³Π°ΡŽΡ‰Π΅Π΅ΡΡ Π½Π° Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Π° окошко. Если ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅, Ρ‚ΠΎ примСняСтся опрСдСлСнная Π³Ρ€ΡƒΠΏΠΏΠ° экшСнов для ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°, Ссли Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Π°Ρ, Ρ‚ΠΎ другая Π³Ρ€ΡƒΠΏΠΏΠ° экшСнов.

КакиС Π΅Ρ‰Ρ‘ возмоТности ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² скрипт, ΠΈΠ»ΠΈ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π±Ρ‹Ρ‚ΡŒ просто интСрСсны?
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ дСлаСтся довольно просто:

var docRef = app.documents.add(297, 210, 300, «A4_gorizontal», NewDocumentMode.LAB, DocumentFill.BACKGROUNDCOLOR, 1)

Π Π°ΡΡˆΠΈΡ„Ρ€ΡƒΠ΅ΠΌ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ: (width, height, resolution, name, mode, initialFill, pixelAspectRatio)
Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ bitsPerChannel ΠΈ colorProfileName, Π½ΠΎ Π΄ΡƒΠΌΠ°ΡŽ, для Π½Π°Ρ‡Π°Π»Π° Π½Π°ΠΌ Ρ…Π²Π°Ρ‚ΠΈΡ‚ ΠΈ ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΉΡΡ конструкции. Π•Π΄ΠΈΠ½ΠΈΡ†Ρ‹ измСрСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ пиксСли, Π΄Π°Π²Π°ΠΉΡ‚Π΅ помСняСм. МСняСм Π½Π° ΠΌΠΈΠ»Π»ΠΈΠΌΠ΅Ρ‚Ρ€Ρ‹:

ΠœΡ‹ ΠΆΠ΅ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΠΌ ΡΠΈΠ΄Π΅Ρ‚ΡŒ ΠΎΠΊΠΎΠ»ΠΎ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π° ΠΈ Ρ‚Ρ‹ΠΊΠ°Ρ‚ΡŒ Enter? ΠœΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π±Ρ‹ΡΡ‚Ρ€Π΅Π½ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠΈΠ½ΡƒΡ‚ΡŒ всС таски Π² Π±Π°Π³-Ρ‚Ρ€Π΅ΠΊΠ΅Ρ€Π΅ Π½Π° программиста! Π”Π°Π²Π°ΠΉΡ‚Π΅ Π½Π΅ Π΄Π°Π΄ΠΈΠΌ Photoshop’у Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎ Ρ‡Π΅ΠΌ Π»ΠΈΠ±ΠΎ ΡΠΎΠΎΠ±Ρ‰Π°Ρ‚ΡŒ ΠΈ ΠΆΠ΄Π°Ρ‚ΡŒ наТатия ОК, дСлаСтся это Ρ‚Π°ΠΊ:

Π”Π°Π»Π΅Π΅ ΠΊΠΎΠΏΠΈΡ€Π°ΠΉΡ‚Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„Π°ΠΉΠ»Π°. ΠœΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» сдСлан Π½Π°ΠΌΠΈ Π° Π½Π΅ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΈΠΊΠΎΠΌ. Π”ΠΎΠ±Π°Π²ΠΈΠΌ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ Π² File info.

docInfoRef = docRef.info docInfoRef.copyrighted = CopyrightedType.COPYRIGHTEDWORK docInfoRef.ownerUrl = «http://www.your-scorpion.ru» docRef.info.author = «Your-scorpion» docRef.info.country = «Russia»

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΊ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊ Π½Π΅ΠΌΡƒ Π³Ρ€ΡƒΠΏΠΏΡ‹ экшСнов Π² зависимости ΠΎΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… условий.

Π˜Ρ‚ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

Если ΠΏΠΎΠ΄Ρ‹Ρ‚ΠΎΠΆΠΈΡ‚ΡŒ, Ρ‚ΠΎ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ скрипт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² зависимости ΠΎΡ‚ условий примСняСт Ρ‚Π΅ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Π΅ ΡΠΊΡˆΠ΅Π½Ρ‹. А Ρ‚Π°ΠΊΠΆΠ΅, Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ основныС дСйствия Π½Π° JS. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ Ρ‚ΠΎ, для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ поставлСнной Π·Π°Π΄Π°Ρ‡ΠΈ Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ достаточно. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, сдСланноС ΠΊΠ°ΠΊ ΠΏΠ»Π°Π³ΠΈΠ½, я ΠΎΡ‚Π΄Π°Π²Π°Π» ΠΏΠΎΠ΄Ρ‡ΠΈΠ½Π΅Π½Π½Ρ‹ΠΌ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅. 64747. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅ Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅-64747. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 64747

НСбольшая ТизнСнная ΠΌΡƒΠ΄Ρ€ΠΎΡΡ‚ΡŒ: ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ дСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² Ρ„Π°ΠΉΠ» скрипта.
1. Π‘Π΅Ρ€Π΅ΠΌ Ρ„Π°ΠΉΠ» Β«ScriptListener.8liΒ» с сайта Adobe ΠΈ Π·Π°ΠΊΠΈΠ΄Ρ‹Π²Π°Π΅ΠΌ Π² %ProgramFiles%Adobe\Adobe Photoshop CS5\Plug-ins\Automate\
2. ЗапускаСм Photoshop
3. Π”Π΅Π»Π°Π΅ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ дСйствия.
4. На Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ столС Π·Π°Π±ΠΈΡ€Π°Π΅ΠΌ Ρ„Π°ΠΉΠ»ΠΈΠΊΠΈ ScriptListener.jsx ΠΈ ScriptListener.vbs
5. (!)УдаляСм ScriptListener.8li!
И ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ Π³ΠΎΠ²Π½ΠΎ-ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΠΈΠΊΠΎΠΌΡƒ нСльзя ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² своих тСхничСских интСрСсах.

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π°, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚Π°-Π΄Π°Π½Π½Ρ‹Π΅. ΠšΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ½ΠΎΠ³Π΄Π° вСсят большС, Ρ‡Π΅ΠΌ сам Ρ„Π°ΠΉΠ». Π’ΠΎΡ‚ скрипт:

function deleteDocumentAncestorsMetadata() < whatApp = String(app.name); if(whatApp.search("Photoshop") >0) < if(!documents.length) < alert("There are no open documents. Please open a file to run this script.") return; >if (ExternalObject.AdobeXMPScript == undefined) ExternalObject.AdobeXMPScript = new ExternalObject(«lib:AdobeXMPScript»); var xmp = new XMPMeta( activeDocument.xmpMetadata.rawData); xmp.deleteProperty(XMPConst.NS_PHOTOSHOP, «DocumentAncestors»); app.activeDocument.xmpMetadata.rawData = xmp.serialize(); > > deleteDocumentAncestorsMetadata();

Π›ΠΈΠ±ΠΎ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ скрипт для удалСния история Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ SmartObject.

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ экономят вашС врСмя, Π½ΠΎ ΠΈ Π½Π΅ Π΄Π°ΡŽΡ‚ Π²Π°ΠΌ ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ с названиями, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΠΌΠΈ Π²Π°ΠΆΠ½Ρ‹ΠΌΠΈ Π²Π΅Ρ‰Π°ΠΌΠΈ. Π£Π΄Π°Ρ‡ΠΈ!

15 ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π²

Π£ мСня аналогичная Π·Π°Π΄Π°Ρ‡Π°, скаТи, ΠΊΠ°ΠΊ Ρ‚Π΅Π±Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ вопрос с рСсайзом ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ ΠΈ ΠΏΠΎΠ΄Π³ΠΎΠ½ΠΊΠΎΠΉ ΠΈΡ… ΠΏΠΎΠ΄ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚? МнС Ρ‚ΡƒΡ‚ Π·Π°Π΄Π°Ρ‡ΠΊΡƒ ΠΎΠ΄Π½Ρƒ ΠΏΠΎΠ΄ΠΊΠΈΠ½ΡƒΠ»ΠΈ ΠΏΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ΅ постСров, Π° Ρ‚Ρ‹ Π²Ρ€ΠΎΠ΄Π΅ СдинствСнный, ΠΊΡ‚ΠΎ эту Π·Π°Π΄Π°Ρ‡Ρƒ смог Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Π˜Ρ‚Π°ΠΊ, Π΅ΡΡ‚ΡŒ 1500 постСров ΠΎΡ‚ Ρ„ΠΈΠ»ΡŒΠΌΠΎΠ². И Π΅ΡΡ‚ΡŒ 5 Ρ€Π°Π·Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² для Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ², ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚ΠΎΠ², Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€ ΠΈ Ρ‚.ΠΏ. Π’Π°ΠΌ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅, ΠΈ вытянутыС… Ρ€Π°Π·Π½Ρ‹Π΅. Π’Π°ΠΊ Π²ΠΎΡ‚ эти постСры Π½ΡƒΠΆΠ½ΠΎ ΠΊΠ°ΠΊ Ρ‚ΠΎ ΠΊΠ°Π΄Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ΄Π³ΠΎΠ½ΡΡ‚ΡŒ ΠΏΠΎΠ΄ эти Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹.
ПодскаТСшь, ΠΊΠ°ΠΊ Π»ΡƒΡ‡ΡˆΠ΅ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ?

ВсСх сСкрСтов я Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Ρƒ, Ρ‚Ρ€ΡƒΠ΄ΠΎΠ²ΠΎΠΉ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ Π½Π΅ позволяСт) Π― Π±Ρ‹ Π½Π° вашСм мСстС дСйствовал Ρ‚Π°ΠΊ:
Допустим, Π½ΡƒΠΆΠ½Ρ‹ постСры Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 1000x600px.

1. сначала Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒ со всСми исходными ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ. ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΡˆΡŒ ΠΊΠΎΠ΄ скрипта Π² Ρ„Π°ΠΉΠ» Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° jsx, Π² ΠΊΠΎΠ΄Π΅ ΡƒΠ²ΠΈΠ΄ΠΈΡˆΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ Π² пиксСлях, 500 Π½Π° 500px. МСняСшь Π½Π° 1000x600px, ΡΠΎΡ…Ρ€Π°Π½ΡΠ΅ΡˆΡŒ, ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Π΅ΡˆΡŒ Ρ‡Π΅Ρ€Π΅Π· file-script. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° уТмСтся/ΠΎΡ‚ΠΌΠ°ΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ Π΄ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² 1000px.

doc = app.activeDocument; doc.changeMode(ChangeMode.RGB); // Ρ‚ΡƒΡ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ var fWidth = 500; var fHeight = 500; if (doc.height > doc.width) < doc.resizeImage(null,UnitValue(fHeight,"px"),null,ResampleMethod.BICUBIC); >else < doc.resizeImage(UnitValue(fWidth,"px"),null,null,ResampleMethod.BICUBIC); >// Π° Ρ‚ΡƒΡ‚ настройки сохранСния var options = new ExportOptionsSaveForWeb(); options.quality = 70; options.format = SaveDocumentType.JPEG; options.optimized = true; var newName = ‘web-‘+doc.name+’.jpg’; doc.exportDocument(File(doc.path+’/’+newName),ExportType.SAVEFORWEB,options);

2. Π‘ΠΊΡ€ΠΈΠΏΡ‚ подгоняСт ΠΈ сразу сохраняСт всС ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ, поэтому Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ бэкапы Ρ„ΠΎΡ‚ΠΎΠΊ (ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ сохранСния Π² скриптС Ρ‚ΠΎΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ). ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ скрипт ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, дСлаСшь Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏΡΠΊΠΈΠΉ экшСн, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊ пропорциям 100% Π½Π° 60%. (Ρ‡Π΅Ρ€Π΅Π· image β€”> canvas).

Π›ΠΈΠ±ΠΎ:
1) Π²Π·ΡΡ‚ΡŒ инструмСнт Crop tool, ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρƒ Π½Π΅Π³ΠΎ Π² опциях Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΈ
2) Π·Π°ΠΊΠΈΠ½ΡƒΡ‚ΡŒ нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏ ΠΈ сразу ΠΈΡ… ΠΎΠ±Ρ€Π΅Π·Π°Ρ‚ΡŒ Π² Π½ΡƒΠΆΠ½ΠΎΠΌ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅, Ρ‡Π°ΡΡ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ всС Ρ€Π°Π²Π½ΠΎ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π±Ρ‹ Π² Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Ρ‹Π²Π°Ρ‚ΡŒ послС скрипта.
3) ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ, ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ, ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *