亚洲av午夜福利精品一区人妖,亚洲乱码日产精品a级毛片久久,91精品视频观看,青草青草久热精品视频在线观看

誰說設計師不會寫代碼?超簡單Photoshop腳本語言介紹

2013-12-17    藍藍設計的小編

轉載藍藍設計(   m.skdbbs.com  )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供有效的   BS界面設計 、 cs界面設計 、  ipad界面設計   、  包裝設計 、  圖標定制 、  用戶體驗 、交互設計、   網站建設 平面設計服務

來源:http://www.uisdc.com/100-things-you-should-know-about-design

如果您想訂閱本博客內容,每天自動發到您的郵箱中,   請點這里 

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

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

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

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

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

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

00

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

要求

你不需要是一個會寫腳本語言的高級的程序員。我就僅僅是一個平面設計師,就像你們大多數人一樣。但是你需要對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 Files\Adobe\Adobe Utilities-CS6\ExtendScriptToolkit 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直到一個完整的圓。

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

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

今天,我們將用你輸入分支的數值的動態腳本來重繪這個動作,讓我們開始吧。

算法

當你開始寫腳本的時候,在挖掘代碼本身之前先設定算法是個不錯的主意。在我們的情況下,算法將會是這樣的:

1,詢問用戶輸入分支的數目。

2,計算旋轉的角度。

3,通過第一步設定的數目來復制并旋轉圖層。

首先讓我們從把當前或選定的圖層作為變量保存起來,為了將來使用:

14

在JavaScript 中注意,你可以標記兩條雙斜線(//)做注解。注解被用來為未來相關部分的代碼做解釋但是不影響腳本的運行。

現在讓我們回到我們的算法上。

1,要求用戶輸入

我們通過prompt(message,defaultvalue[,tittle])這個功能來獲取用戶的輸入信息:。這個功能表明一個有著”message”對話框和一個包含這”fefault value”的輸入框。當用戶點擊“確定”,這個給你功能就回到輸入值;因此,我們需要保存它為一個可是用的變量。

15

注意我使用了“orginalStem.name”在這段信息里面。所以對話框會現實所選擇圖層的名稱。

在Mac OS X中,在信息中的第一行是寬的,作用是標題。因此,我們主要的信息應該在第二行。另起一行,輸入“\n”.

在Windows中,你可以在功能中指定第三種參數來設定一個標題:

16

如果我們在PS中運行這個代碼,將會看到這樣一個對話框:


17

當用戶點擊“確定”,輸入值將會保存到stemsAmount變量中。如果用去點擊“取消”,這個功能將會返回一個無效值。這個我們后面要使用到。

2,計算旋轉的角度

為了計算旋轉的角度,我們需要通過分支的數目來分360度(一個整圓):

18

3,復制和旋轉

現在我們已經有了我們需要復制的分支的一切。為了這樣去做,我們將使用“for”循環。它可以讓我們按照我們想要的次數來反復的運行一段代碼。我們的循環將會是這樣的:

19

注意第一個在程序中的對象例子已經有了值為0,但是因為我們第一個圖層已經在畫布上了,我們從1開始這個循環。

為了輔助和旋轉我們的圖層,我們將會使用:duplicate()和rotate(angle,AnchorPosition)函數:在angle里面被旋轉圖層的數目通過復制的指數相乘而得。 Anchorposition決定了哪個圖層將會旋轉的點。當你在PS中使用旋轉工具的時候你可以看到這個點—它看起來是一個小小的加了十字的圓圈。在腳本中,它僅有9個指定的值-i.e.9個位置的錨點:

20

在我們這個情況下,它是這個圖層按鈕的中心。BOTTOMCENTER. PS在這里或那里的一些功能上使用了很多其他的一些常量,你可以在”Adobe Photoshop CS6JavaScript Reference”PDF文件中的197頁找到。因此我們的循環就是這個樣子:


21

完整的代碼就是下面這個樣子,你可以試著運行:


22

最后的潤色

我通常會試著使用腳本來完成我的主要目的。當一切都正確的運行起來的時候,我將會開始優化代碼。在我們這種情況下,我們需要確保用戶在提示框中輸入一個有效的數值—i.e.一個正整數,而且要大于1。

當然,為了不讓PS瘋掉,我們會限制分支的書目,我們規定,小于100.為了這么做, 當他們提交了一個無效的數值的時候 ,我們需要使用一個“while”循環來告訴用戶一個錯誤的信息。而且這個提示框將會一直存在,直到用戶輸入一個有效值或者點擊“取消”按鈕。(記住如果用戶點擊取消將會提示無效值)。

新的代碼將會是這樣的:

23

你可能注意到:我們使用了“isNaN(value)”這個功能,它返回 “true”如果 “value”不是一個數字,同時當我們計算旋轉的角度的時候,“parseInt(value)”把“value”轉換成一個整數。

接下來我們要做的事情是管理圖層,通過為它們增加一個索引來重命名我們的圖層。同事也要確保我們不會把文件的圖層搞亂,讓我們把我們的分支編組。

為圖層重命名不是一個很難的事情。我們只需要使用圖層的“name”屬性,然后為它們增加一個索引數字:

24

PS應用程序界面里的編組被稱為“LayerSet”,我們通過“layerSets”屬性可以進入文件的所有編組。為了給文件增加一個新的組,我們需要稱“layerSet”方法為“add()”:


25

然后,為了把一個圖層增加到組里面,我們會使用“move(relativeobject,ElementPlacement)”函數。請注意,“move()”函數只是把圖層移動到圖層堆,而不是移動到畫布上。(你可以用“trabslate(deltaX[,deltaY])”函數把圖層移動到畫布上)

ElementPlacement是另外一個常量,這個常量決定我們怎樣把的圖層跟 relativeobject 關聯在一起。在我們的案例里,我們使用ElementPlacement.INSIDE 把一個普通圖層放進一個組里面:

26

我們使用 ElementPlacement.PLACEATEND.把每一個拷貝的新圖層放在所有圖層租的底部。結果就是我們的所有圖層都是以上升的順序排列,第一個圖層在頂部,最后一個圖層在底部:


27

你可以在”Adobe Photoshop CS6 Scripting Guide”Pdf文件中202頁里

找到更多關于“ElementPlacement”的內容。

最終代碼

就是它,RotateMe.jsx搞定! 我們最終的代碼就是這樣:

28

29

沒那么難,哈?


30

現在,你可以把這個保存在photoshop/presets/Scripts/文件夾里面,然后前

往File-Script運行。使用不同的形狀和不同的賦值可以產生有趣的結果:

31

總結

你可以從在后面的資源包里面鏈接序號看到,除了文章中介紹的之外還有很多想要講的。但是我希望我們今天所講的能夠激發你的興趣,向你展示了腳本的作用和巨大潛力。

32

如果你想下水試試,讓我們一起來學習和交流經驗吧。你在后面的評論中提出問題或者分享你所做的。如果你不是一個程序員,可以考慮留下一個關于腳本編寫的好主意吧!或許其他的讀者會實現它。讓我們一起來使PS更加有用吧!

資源

1,Adobe Photoshop Scripting ,Adobe Developer Connection

所有的腳本文件和實用功能

2,Adobe Introduction to Scripting ,(PDF),Adobe

這個是一些Adobe應用程序的基本代碼。不錯的是PS的腳本可以適用于所有的其他Adobe產品,你只需要學習應用的DOM,你就可以上路了。

3,Adobe Photoshop CS6 Scripting Guide ,Adobe

在這個PS腳本介紹指南里面,你可以學到寫腳本的基本知識。

4, Adobe Photoshop JavaScript Reference ,(PDF),Adobe

這個文件描述了你可以在PS里面用到的所有的對象和他們的函數以及方法。這也是我在寫腳本的時候用的最多的文件。

5, JavaScript, Mozilla Developer Network

這里面有關于一般的JavaScript函數和用法的各種問題的答案。

6,JavaScript Tools Guide, PDF,Adobe

這里面有一些關于“ExtendedScript Toolkit”的基本信息,和一些高級技

巧。例如文件系統的存取,ScriptUI, XML的使用,sockets等等。

7,PS-Script

一個獨立的關于PS腳本的論壇。我不能注冊參與討論(因為某些未適應系統),但是它有很多可以被發現的解決問題的答案。

8, Photoshop Scripting,Adobe Community

Adobe的PS腳本官方論壇,有一些很好的在用戶使用的過程中遇到的問題的討論。

原文地址:smashingmagazine
譯文地址:mxd.tencent

編譯:騰訊timmliu  校正:sevenshao&charrywang

日歷

鏈接

個人資料

藍藍設計的小編 http://m.skdbbs.com

存檔

亚洲av午夜福利精品一区人妖,亚洲乱码日产精品a级毛片久久,91精品视频观看,青草青草久热精品视频在线观看
<strike id="cy2gs"><menu id="cy2gs"></menu></strike>
  • <del id="cy2gs"><dfn id="cy2gs"></dfn></del>
  • 亚洲精品免费一区二区三区| 在线免费观看欧美| 在线视频精品一区| 欧美国产精品劲爆| 一区二区三区视频观看| 国产精品久久久久影院亚瑟| 午夜精品一区二区三区四区| 国产一区二区三区免费在线观看| 免费亚洲电影在线观看| 在线中文字幕不卡| 99亚洲精品| 国产一区二区电影在线观看| 免费日本视频一区| 一本一本久久a久久精品综合妖精| 亚洲精品久久久蜜桃| 国产精品久久久久久久久久久久久| 欧美视频在线观看免费网址| 久久久国产视频91| 亚洲久久在线| 韩国一区电影| 国产精品久久久久久亚洲调教| 久久久久久9999| 亚洲午夜精品一区二区三区他趣| 极品中文字幕一区| 欧美亚洲成人网| 久久久精品一区| 亚洲视频导航| 亚洲黄色大片| 国产日产欧美一区| 欧美美女喷水视频| 久久频这里精品99香蕉| 在线电影一区| 国产精品一区二区三区乱码| 欧美国产在线电影| 欧美尤物巨大精品爽| 一区二区三区视频在线观看 | 极品少妇一区二区| 亚洲国产一区二区三区a毛片| 国产精品va在线播放我和闺蜜| 国产精品久久久久免费a∨| 欧美激情视频一区二区三区在线播放 | 国产精品久久久久久久电影 | 亚洲午夜精品| 久久精品一区二区三区四区 | 一区二区三区偷拍| 久久久久久久久岛国免费| 欧美激情精品久久久久久变态| 国产精品男女猛烈高潮激情| 欧美日韩大片| 久久久99免费视频| 欧美理论片在线观看| 亚洲欧美日韩一区二区| 亚洲毛片av在线| 亚洲国产福利在线| 韩国女主播一区二区三区| 国产精品综合av一区二区国产馆| 欧美日韩精品不卡| 蜜臀av国产精品久久久久| 久久久久久久久综合| 亚洲欧美国产一区二区三区| 最新精品在线| 韩国av一区二区三区| 国产精品免费在线 | 欧美激情精品久久久久久免费印度| 午夜一区二区三区不卡视频| 久久综合给合久久狠狠色| 久久综合九色综合欧美狠狠| 欧美性色aⅴ视频一区日韩精品| 伊人久久大香线蕉av超碰演员| 国产精品国产a| 国产精品美女久久久免费| 一区二区亚洲欧洲国产日韩| 日韩亚洲欧美一区二区三区| 亚洲国产精品成人va在线观看| 国产在线精品成人一区二区三区| 国产一区二区中文| av成人国产| 亚洲视频网在线直播| 久久综合狠狠综合久久激情| 久久精品亚洲精品| 欧美午夜寂寞影院| 国产欧美亚洲视频| 国产精品成人一区二区| 亚洲国产精品热久久| 久久精品av麻豆的观看方式| 国产精品国产一区二区| 欧美日韩少妇| 欧美日韩一区在线观看视频| 国产精品高清免费在线观看| 亚洲激情亚洲| 91久久精品一区| 久久精品国产综合精品| 久久福利毛片| 老司机久久99久久精品播放免费| 欧美激情一区在线| 一色屋精品亚洲香蕉网站| 午夜精品久久久久久久久久久久久| 欧美一区免费视频| 久久久久在线| 国产女主播视频一区二区| 亚洲一区二区在线看| 欧美日韩理论| 一区二区精品国产| 欧美一区二区三区电影在线观看| 久久久免费av| 国内精品免费在线观看| 欧美在线亚洲一区| 欧美成人一区二区三区| 国产精品大片wwwwww| 日韩午夜电影av| 欧美日韩ab片| 一区二区免费在线观看| 欧美日韩精品欧美日韩精品| 国产视频欧美| 午夜在线精品| 欧美国产日韩一区| 91久久精品日日躁夜夜躁欧美| 亚洲毛片av| 欧美视频日韩视频| 精品福利av| 亚洲精品色婷婷福利天堂| 蜜臀久久久99精品久久久久久| 欧美视频中文字幕在线| 艳妇臀荡乳欲伦亚洲一区| 欧美日本二区| 国产一区二区精品久久| 久久精品av麻豆的观看方式| 伊人久久婷婷| 欧美福利专区| 国产精品日韩一区二区| 亚洲专区一二三| 久久av一区二区三区亚洲| 国产一区二区三区无遮挡| 久久久久青草大香线综合精品| 欧美日韩国产一区二区| 一本久道综合久久精品| 国产精品久久久久久模特| 欧美亚洲一级片| 精品不卡视频| 欧美激情亚洲激情| 亚洲午夜久久久久久久久电影院 | 午夜一区在线| 曰韩精品一区二区| 欧美精品一区二区三区在线看午夜 | 米奇777在线欧美播放| 久久久精品一区二区三区| 国产综合色在线视频区| 亚洲高清资源综合久久精品| 欧美国产精品va在线观看| 国产亚洲一区在线播放| 9色国产精品| 美女脱光内衣内裤视频久久影院 | 欧美色播在线播放| 性欧美办公室18xxxxhd| 精品动漫3d一区二区三区免费| 亚洲免费视频网站| 国产一区二三区| 模特精品在线| 亚洲视频一二区| 黄色成人在线| 欧美日韩亚洲视频| 亚洲人在线视频| 蜜桃伊人久久| 亚洲深爱激情| 欧美日韩国产精品专区| 91久久精品国产91久久| 欧美午夜三级| 久久久久88色偷偷免费| 一本一本久久a久久精品综合麻豆| 国产欧美一区二区精品婷婷| 亚洲一二三级电影| 欧美日韩性生活视频| 久久gogo国模裸体人体| 国产精品综合av一区二区国产馆| 亚洲欧洲精品一区二区三区波多野1战4 | 麻豆freexxxx性91精品| 宅男在线国产精品| 在线观看成人小视频| 久久久www免费人成黑人精品| 亚洲九九爱视频| 国产一区二区三区在线观看免费视频 | 欧美日韩亚洲激情| 久热精品视频在线免费观看| 亚洲一区二区三区中文字幕 | 亚洲综合第一页| 欧美色图首页| 久久成人av少妇免费| 亚洲精品资源美女情侣酒店| 久久综合色婷婷| 在线亚洲成人| 亚洲国产岛国毛片在线| 欧美大色视频| 欧美一区二区三区免费视| 日韩一级精品视频在线观看| 狠狠网亚洲精品| 美女久久网站| 性18欧美另类| 99综合在线| 国产精品永久免费| 欧美激情欧美狂野欧美精品|