萬盛學電腦網

 萬盛學電腦網 >> 圖文處理 >> Photoshop教程 >> ps入門教程 >> 超簡單PHOTOSHOP腳本語言

超簡單PHOTOSHOP腳本語言

   自動化對每個設計師的工作來說是很有用的。它可以在重復的任務上節省寶貴的時間,還能夠幫我們更快捷、更容易的解決一系列問題。

  你可以使用photoshop的動作來使工作流程自動化,這是很流行的,大多數人都知道並且已經在使用的方法。今天,我們將介紹給你一種高級的自動化技巧:腳本語言。所有的這一切僅僅需要你有一點點關於JavaScript的基本知識,這對於我們中的一些網頁設計師往往都是具備的。

  我很多年前就知道Photoshop的腳本語言,但是我幾個月前才開始決定研究它。我忽視了它是因為我認為那是聰明的具有數學思維能力的程序員的領域。但是我錯了,今天我將要來告訴大家,盡管它需要一些基本的程序技巧,腳本語言並不是那麼難掌握。

  但是,一開始,我們得回答以下這幾個明顯的問題:

  為什麼我們需要腳本語言?

  為什麼我們在Photoshop已經有了很棒的動作之後還要需要學習腳本語言?答案是交互性!當你使用動作時,你不能真正的控制它在不同情況下的表現,就像錄像帶不停的一遍又一遍的播放而沒有任何改變。

超簡單PHOTOSHOP腳本語言 三聯

  一個腳本語言更靈活,它表現形式的改變取決於你輸入的參數或者是應用程序的內容。聽起來很有用?不是麼?

  要求

  你不需要是一個會寫腳本語言的高級的程序員。我就僅僅是一個平面設計師,就像你們大多數人一樣。但是你需要對JavaScript至少有一個基本的了解,以及一些屬性和方法的經驗去領悟這篇文章的大部分內容。

01

  如果你對JavaScript一點都不了解,別害怕!有很多地方你可以了解程序的一些基本知識。例如:Codecademy,有很棒的完整的交互式課程。

  我使用CS5,但是這篇文章中講的也同樣適用於新版本。Adobe從CS5開始已經沒有對其腳本API進行更新。我會選擇看最新的腳本文檔版本,雖然它是cs6的.

  開整

  當你開始在PS中記錄動作的時候,你設定了一個達到某一結果的步驟順序,這就是你的算法。然後你按下開始動作,在PS裡面就一個接一個的重復你剛才的動作。腳本也差不多,但是不會一步一步的在PS中完成,而是你把它們一條一條的寫出來。在PS裡面大多數你想要完成的動作都有相同的功能按鈕可以完成。

02

  如果你需要創造一個動作將你的文件從原始大小放大到150%,你需要完成以下幾步:

  1,打開圖像-圖像大小

  2,長寬輸入150%

  3,點擊確定。

  同樣的腳本語言會是這樣寫:

  1,為這個應用命名為:app

  2,選中文件:activeDocument

  3,把這個屬性命名為重設圖像大小:resizeImage(width,height)

  代碼就是這樣:

03

  語言

  有三種方式在PS裡面寫腳本:在mac上用AppleScript, Windows用VBScript,或者用JavaScript在兩者上都可以。我使用第三種方式,因為它可以跨平台,並且我有一定JavaScript的基礎。

  工具

  Adobe有它自己的寫腳本的工具,叫做:ExtendedScript Toolkit.

04

  ExtendedScript Toolkit的主界面就是這樣的

  這個工具包在PS裡面,你可以在這個文件夾中中找到:

  Mac OSX: /Applications/Utilities/Adobe Utilities CS6/ExtendScript ToolkitCS6/

  Windows: C:Program FilesAdobeAdobe Utilities-CS6ExtendScriptToolkit CS6(64位的Program Files(x86))

  ExtendedScript Toolkit的用戶界面非常的簡單。開始寫代碼,第一步就是要在下拉菜單中選擇目標應用。如果PS已經在運行,就可以看下下拉菜單旁邊的綠色鏈接圖標:

05

  這個時候,你可以像這樣寫:

06

  按cmd+R(或者直接在工具欄上點擊“播放”按鈕)來運行你寫的代碼。ExtendedScript Toolkit將會轉換到PS裡面然後彈出提示框:

07

  ExtendedScript Toolkit 有一些其他的調試代碼的不錯特性,但是這一段代碼就這樣就夠了。你可以通過:幫助-JavaScript Tools Guide學到更多如何使用它。

  你可以使用任何文本編輯來寫代碼,只需要保存為.jsx格式文件就好了。你必須在PS裡通過File-Scripts-Browse來找到並運行它。 或者是,在PS裡面打開腳本文件。你也可以在腳本的前面加上一行代碼,這樣這個代碼就會常在PS裡面打開:

08

  直接保存你的代碼在 Photoshop/Presets/Scripts/,然後通過File-Scripts訪問它們。你也可以設定一個快捷鍵,前往Edit-Keyboard Shortcuts,鏈接到 File-Script-[你的代碼名稱],然後選擇一個你想要設定的快捷鍵。

  ExtendedScript Toolkit可以在整合的開發環境下運行和調試代碼,同時它還有一個目標模型指示器來安裝,這是很有用的。所以我推薦使用toolkit來寫腳本。不幸的是,Mac版本的有時候會崩潰,所以要記住這一點。

  Photoshop對象模型

  為了使腳本寫起來簡單些,你需要懂得在Photoshop文件對象模型(DOM)中事件是怎樣互相聯系的。如果你觀察PS本身,理解起來並不困難。PS的DOM裡面最主要的對象就是應用程序。在應用程序裡面,我們有一個文件夾在PS裡面是當前打開的。

  每一個文件包含一些元素:例如圖層(被稱為Artlayers),圖層組(layerSets),通道,歷史記錄等等–就像一個普通的PSD文件。

  下面就是一個簡單的可視化的PS的DOM。更詳細的包含層級的可以在”Adobe Photoshop CS6 Scripting Guide”Pdf文件中12頁裡找到。

09

  一個簡單的可視化的Photoshop DOM

  這裡面的每一個目標都有它自己的屬性和方法你可以編輯它。例如,在一個文件中改變所選圖層的透明度,你就可以前往Application-Document-layer-Opacity然後選擇你的期望值。代碼就是這樣寫:

10

  你應該可以猜到,activeDocument和activelayer決定了當前選擇的文件和圖層。

  你可以在“Adobe Photoshop CS6 JavaScript Scripting Reference”PDF文件中找到大部分的目標和它們的屬性和方法的說明,或者在ExtendedScript Toolkit中通過前往help-object Model Viewer.

  讓我們來看看在一個真實的例子中是如何運行的。在接下來的段落中,我們將會基於一個動作寫一段我們自己的代碼。

  用代碼來重現自我旋轉動作

  幾年前的聖誕節,我有一個想法就是用動作幫助我畫一個雪花。

  畫雪花

  1,首先畫一支雪花的圖案。

11

  2,復制這一支,同時旋轉一定的角度。

12

  3,重復第二步直到一個完整的圓。

13

  手動去復制和旋轉每一個元素非常麻煩,所以我想出了一個自動的動作(an action to automate it)去完成它。算法是這樣的:

  1,復制元素。

  2,使用變化工具按照你所選擇的角度去旋轉這個元素。

  3,復制圖層。

  4,使用“重復變換”功能。

  5,重復動作4和5直到一個完整的圓。

  非常不錯!但是這個動作有一個缺點:根據你在第三步設定的角度數值的算法,你只能設定一定數量的雪花的分支。

  回到當我還不是很熟悉腳本的時候,我做了幾個版本的動作,每一種產生的雪花都是不同

copyright © 萬盛學電腦網 all rights reserved