太倉(cāng)平面設(shè)計(jì)學(xué)院排名_太倉(cāng)平面設(shè)計(jì)培訓(xùn)
來源:教育聯(lián)展網(wǎng) 編輯:佚名 發(fā)布時(shí)間:2018-08-27
海報(bào)設(shè)計(jì)需要學(xué)什么?需要報(bào)美工 還是平面設(shè)計(jì)進(jìn)行學(xué)習(xí)?
建議是學(xué)平面設(shè)計(jì),因?yàn)楝F(xiàn)在的美工培訓(xùn)都是網(wǎng)頁上的修圖,對(duì)于矢量工具 的要求不會(huì)很高,不會(huì)教你印刷知識(shí)的。而平面設(shè)計(jì)教的很全,一般除了ps。會(huì)教CDR、AI、ID軟件,而Illustrator(AI)、CoreDraw(CDR)就是矢 量工具,CDR結(jié)合了AI、ID、很方便的設(shè)計(jì)出來,ID作為矢量工具,是排版神器,雜志、書籍、報(bào)紙等排版快捷方便,上手簡(jiǎn)單,可以繪制簡(jiǎn)單的矢量 圖形。不過沒有從事大量排版工作的話,可以不考慮這個(gè)的。
簡(jiǎn)單說說海報(bào)設(shè)計(jì):1.傳統(tǒng)意義上的海報(bào)常用于文藝演出、運(yùn)動(dòng)會(huì)、故事會(huì) 、展覽會(huì)、家長(zhǎng)會(huì)、節(jié)慶日、學(xué)校里競(jìng)賽游戲等。海報(bào)設(shè)計(jì)總的要求是使人一目了然。掛在櫥窗里的大幅畫作,又稱招貼畫。貼在街頭墻上。2.其實(shí)現(xiàn) 在互聯(lián)網(wǎng)上要求的海報(bào),也是一樣的要求,只是要配合網(wǎng)頁的寬度進(jìn)行排版罷了,相對(duì)于戶外的海報(bào),網(wǎng)頁海報(bào)根據(jù)有生動(dòng) 靈活性,更換方便。然后 說說海報(bào)設(shè)計(jì)公司的重要要求:海報(bào)設(shè)計(jì)往往需要進(jìn)行良好的設(shè)計(jì)構(gòu)思,一般情況下,**海報(bào)設(shè)計(jì)來進(jìn)行宣傳都希望獲得**好的設(shè)計(jì)效果。
高級(jí)平面(廣告)設(shè)計(jì)師課程介紹:
平面設(shè)計(jì)師除了學(xué)習(xí)平面設(shè)計(jì)軟件課程以外,還將接觸大量的概念知 識(shí)、平面術(shù)語、繪畫能力,色 彩搭配方案以及客戶溝 通技巧,布局、顏色、文案等。理論結(jié)合實(shí)際操作的學(xué)習(xí)過程,老師提供的綜合案例,需要我們從無到有制作一套或幾套自己的VI作品、包裝設(shè)計(jì)作一個(gè)階段專業(yè)知識(shí)的學(xué)習(xí)!平面廣 告設(shè)計(jì)師這門課程結(jié)束了專業(yè)和不專業(yè)也將立見高下。
學(xué)習(xí)內(nèi)容:
Photoshop圖像處理;Coreldraw圖形設(shè)計(jì)、Illustrator矢量繪圖、Indegin 排版軟件、AutoCAD制圖繪圖、3DMAX三維設(shè)計(jì)師;平面設(shè)計(jì)原理 ;平面構(gòu)成、立體構(gòu)成、色 彩構(gòu)成的基礎(chǔ)知識(shí);印 前與噴繪;創(chuàng)意素描、平面創(chuàng)意設(shè)計(jì);平 面設(shè)計(jì)項(xiàng)目實(shí)戰(zhàn);電腦 美術(shù)基礎(chǔ)、素描、色彩 、透視原理、造型結(jié)構(gòu)等。
課程收益:
**系統(tǒng)、全面、深入、專業(yè)的學(xué)習(xí),讓學(xué)生強(qiáng)化理論基礎(chǔ),精通電腦操作 ,提高溝通能力。培養(yǎng)具備較高綜合素質(zhì)和技能的平面設(shè)計(jì)師, 使學(xué)員掌握平面設(shè)計(jì)不同職位需求的專業(yè)設(shè)計(jì)技能,并具 備獨(dú)立完成各種設(shè)計(jì)項(xiàng)目的能力。
招生對(duì)象:
電腦愛好者,對(duì)計(jì)算機(jī)感興趣,有志于從事設(shè)計(jì)行業(yè)的各界人士;初、高中 以上學(xué)歷;無任何計(jì)算機(jī)或美 術(shù)基礎(chǔ)(不要求學(xué)員具 有美術(shù)基礎(chǔ))。
就業(yè)方向:
平面廣告創(chuàng)意師;平面設(shè)計(jì)師;平面創(chuàng)意師,平面制作;噴繪人員;視覺創(chuàng)意設(shè)計(jì)師;廣告公司、會(huì)展中心廣告設(shè)計(jì)師和制作師;企 事業(yè)單位形象設(shè)計(jì)師。報(bào)紙、雜志、出版等大眾傳播 媒體美編人員,各大商場(chǎng)、超市企劃部,各企業(yè)宣傳部、包裝公司產(chǎn)品包裝設(shè)計(jì)、產(chǎn)品外觀設(shè)計(jì)美工;印刷制版公司、排版師、設(shè)計(jì)師等專業(yè)人才:印前制作師、排版人員;輸出公司制版員;影樓影集冊(cè) 設(shè)計(jì)師、淘寶平面美工設(shè)計(jì),淘寶網(wǎng)店設(shè)計(jì)等;企業(yè)宣傳策劃部門的設(shè)計(jì)助理、平面設(shè)計(jì)師、資深設(shè)計(jì)師、美術(shù)指導(dǎo)、 設(shè)計(jì)總監(jiān)等相關(guān)平面設(shè)計(jì)職業(yè)。
學(xué)習(xí)周期:按校區(qū)安排而定(以班級(jí)安排為標(biāo)準(zhǔn))
使用教材:統(tǒng)編教材
上課時(shí)間:每月開設(shè)白班、晚班、周六班、周日班
老師資質(zhì):專業(yè)教師
學(xué)習(xí)保障:課程體系完善,講師教學(xué)經(jīng)驗(yàn)豐富
PS高端教程:在PS中用腳本語言來處理圖片
譯者@Gaoyoungor 的話:原文作者Ross Aitken(個(gè)人教程站:http://psdlearning.com/)這篇文章寫得很詳細(xì),力圖讓每一個(gè)讀者都能看懂。本文主要涉及到三塊主要技術(shù):調(diào)色、添加邊框和陰影以及隨機(jī)旋轉(zhuǎn)。調(diào)色的方法是復(fù)制圖片圖層,然后平均模糊取得該圖片的平均色,其后用圖片RGB通道直方圖校驗(yàn)的方法取得該平均色的色值,并根據(jù)各通道顏色比例作出調(diào)整,然后用所得的顏色填充復(fù)制的圖片層,其后反相,更改混合模式為顏色,降低不透明度,從而形成影樓級(jí)調(diào)色效果;添加陰影和邊框則主要涉及到畫布大小的重定和高斯模糊濾鏡。圖片的隨機(jī)旋轉(zhuǎn)則涉及到Math.random(),創(chuàng)建一種隨機(jī)的效果。教程**終實(shí)現(xiàn)的效果很簡(jiǎn)單,但通篇教程旨在滲透原理和思想,拋磚引玉,相信聰明的你能發(fā)揮才思完成驚人的作品!感謝Black_Ray大神的貼身技術(shù)指導(dǎo),沒有他的幫助這篇文章會(huì)夭折。大家可以查看jsx源文件每一步我都有注明過程及作用,想要學(xué)習(xí)更多的朋友可以**ps**方的api文檔閱讀。
jsx源文件共享:http://vdisk.weibo.com/s/JjyMe;
**方api文檔Photoshop_CS5_Scripting_Guide: http://vdisk.weibo.com/s/JjyTk
原文標(biāo)題:Manipulate an Image with Scripting
原文地址:photoshoptutorials
聯(lián)展網(wǎng) SDC翻茄匠:@Gaoyoungor
正文:
PS中用腳本語言來處理圖片
腳本控制在常規(guī)的ps教程中是很少涉及到的東西,但絕對(duì)是值得學(xué)習(xí)的技巧。腳本在自動(dòng)化任務(wù)流程控制方面相對(duì)于ps action(動(dòng)作)來說更為強(qiáng)大,而且能完成一些利用photoshop常規(guī)軟件技巧不能實(shí)現(xiàn)的任務(wù)。下面我們來創(chuàng)建一個(gè)腳本來編輯照片,讓你的圖片以一種更為時(shí)髦的方式去展示。
介紹
在這篇教程中,我旨在介紹怎樣用腳本來實(shí)現(xiàn)這樣的效果,但同時(shí)也會(huì)介紹在photoshop中和該腳本語言的相對(duì)應(yīng)的操作,從而讓大家更能明白怎樣去修改你的腳本來實(shí)現(xiàn)不同的效果。Photoshop能編譯三種編程語言的腳本:VBscript,AppleScript和JavaScript,其中只有JavaScript是跨平臺(tái)的腳本語言,所以在這篇教程中我們選擇使用JavaScript,同時(shí),學(xué)習(xí)JavaScript對(duì)于我們也更為有利。即使你從未使用JavaScript編過程,也能很輕易的理解這篇教程,因?yàn)槲覍?duì)每一概念都有很細(xì)節(jié)的講解。當(dāng)編寫JS代碼的時(shí)候你可以使用任何適合你自己的編輯器,較新版本的ps為大家提供了一個(gè)叫做ExtendScript Tooklkit(以下簡(jiǎn)稱ESTK)的軟件,可以讓編寫這類腳本更為便捷。通常情況下裝好ps都會(huì)附帶這個(gè)軟件,如果你安裝綠色版的ps或者確實(shí)找不到該軟件的話(譯者著:建議大家直接在開始菜單搜索)可以從這里**。注意:ESTK可能不適用于低版本的photoshop軟件。使用ESTK編寫PS腳本語言的優(yōu)勢(shì)在于可以更方便的調(diào)試,你甚至可以在直接在該軟件里運(yùn)行腳本,這在接下來的學(xué)習(xí)中大家會(huì)深有體會(huì)。在這片教程中我使用了stock.xhng的這張圖片,你可以保存這張圖片的一個(gè)小尺寸版本來測(cè)試你的腳本,而且運(yùn)行速度會(huì)更快。當(dāng)然,腳本語言能應(yīng)對(duì)不同圖片的不同尺寸。
步驟一
打開你想使用的編輯器,不管是ESTK還是windows平臺(tái)下的notepad之類的文本編輯器,但不要使用word這類的程序。如果你使用ESTK,那么窗口的左上角應(yīng)該會(huì)出現(xiàn)一個(gè)下拉菜單,在這個(gè)下拉列表中選擇adobe photoshop就能和ps程序鏈接起來?,F(xiàn)在我們來編寫一段簡(jiǎn)單的程序來驗(yàn)證我們的設(shè)置的正確性。將如下的代碼輸入你的編輯器:
Alert(“Hello World”)
這條簡(jiǎn)單命令的作用是彈出一個(gè)警告框,顯示“Hello World”;在這篇教程的過程中我們用警告彈出框來測(cè)試我們的部分代碼。使用引號(hào)的是表明引號(hào)內(nèi)的字符串是一個(gè)字符?,F(xiàn)在運(yùn)行你的腳本,如果你使用的是像notepad之類的常規(guī)編輯器,那么運(yùn)行你腳本**簡(jiǎn)單的方法就是將你的腳本儲(chǔ)存為“myscript.jsx”,然后打開ps,文件>腳本>瀏覽,然后選擇你的腳本。如果你使用的是ESTK,你就只需要點(diǎn)擊窗口右上角的播放按鈕就可以了。這時(shí)候你應(yīng)該能看到一個(gè)警告彈出框。在測(cè)試你的腳本之前,請(qǐng)關(guān)閉當(dāng)前在ps中打開的文件。
步驟二
編輯器中的警告代碼段只是來測(cè)試設(shè)置的正確性,所以這時(shí)候我們要把它刪掉。每次運(yùn)行腳本的時(shí)候我們都想要運(yùn)用兩個(gè)設(shè)置,分別是設(shè)置ps的標(biāo)尺單位為像素和禁止在非需要的情況下出現(xiàn)彈出對(duì)話框。在ps內(nèi)實(shí)現(xiàn)該設(shè)置的方法是 編輯>**項(xiàng)>單位和標(biāo)尺,然后將標(biāo)尺的值改為像素,顯然關(guān)閉對(duì)話框只針對(duì)腳本語言控制程序的情況。實(shí)現(xiàn)該設(shè)置的代碼如下:
preferences.rulerUnits = Units.PIXELS;
displayDialogs =DialogModes.
**條命令指令PS更改**項(xiàng)里的單位和標(biāo)尺的值為像素。我們可以發(fā)現(xiàn)代碼的引用有明顯的分層結(jié)構(gòu),比如說單位和標(biāo)尺是屬于**項(xiàng)下面的一個(gè)子選項(xiàng),顯而易見,Photoshop的軟件結(jié)構(gòu)也是如此。第二條命令只是將對(duì)話框的屬性值改為“”,在執(zhí)行腳本的過程中如果你需要彈出對(duì)話框,可以直接更改為YES。
步驟三
現(xiàn)在我們希望用戶選擇一個(gè)文件打開,為此我們需要彈出一個(gè)打開文件的對(duì)話框,即使我們關(guān)閉了對(duì)話框的顯示但是我們只要編些腳本依然可以控制對(duì)話框的顯示。下面我們將定義一個(gè)和打開的文件對(duì)應(yīng)的變量,然后復(fù)制該文件的背景層。實(shí)現(xiàn)代碼如下:
open(File(openDialog()));
var docRef_1 = activeDocument
docRef_1.backgroundLayer.duplicate();
**條命令由三部分組成,the open命令是用來打開括號(hào)內(nèi)的文件,然后the file()命令是抓取括號(hào)里的文件路徑,但這里我們添加的是openDialog()命令。所以該命令行的作用是彈出一個(gè)對(duì)話框讓用戶選擇一個(gè)文件,然后程序能獲取文件路徑并打開它。如果你每次都想打開同一個(gè)文件,那么你可以用具體的文件路徑來代替openDialog()代碼片段。第二條命令我用var來定義了一個(gè)變量docRef_1,該變量名可以是規(guī)范內(nèi)的任意值,如果我還想打開另一個(gè)文件,我就可以定一個(gè)名為docRef_2的變量。然后我們把變量docRef_1定義為當(dāng)前文件。**后一條命令我們所做的是指令Photoshop復(fù)制docRef_1文件中的背景圖層,該文件目前也是我們**運(yùn)行的文件。大家會(huì)再次發(fā)現(xiàn)這和我們?cè)趐s中的操作類似,在ps中,你會(huì)選擇你想要復(fù)制圖層所在的文件,然后你要選擇該文件中你要復(fù)制的圖層并復(fù)制它?,F(xiàn)在運(yùn)行完整的代碼我們將得到一個(gè)擁有你選擇的圖片的背景圖層和在其上方的復(fù)制層。如果要在photoshop中完成同樣的操作你只需要簡(jiǎn)單的按Ctrl O,然后選擇圖片,隨后右擊圖層面板的背景圖層,選擇“復(fù)制圖層”。
步驟四
下面我將講解如何用十六進(jìn)制代碼來定義顏色,同時(shí)大家也將看到顏色也可以由RGB的值來表述。在這里我們將定一個(gè)白色和一個(gè)黑色,然后將黑色設(shè)為前景色,白色設(shè)為背景色。實(shí)現(xiàn)這個(gè)目的有很多其他的方法,但在這個(gè)教程里面我們采用這樣的腳本命令:
var white = new SolidColor();
white.rgb[“hexValue”] = “ffffff”;
var black = new SolidColor();
black.rgb[“hexValue”] = “000000”;
foregroundColor =black;
backgroundColor = white
大家很容易就能發(fā)現(xiàn)前兩行代碼和三、四行類似,我們?cè)谶@里所做的就是定義兩個(gè)可以任意命名的變量,這里我們根據(jù)即將給變量賦于的顏色命名。隨后我們定義該變量”= new SolidColor()”,則是一個(gè)創(chuàng)造新顏色的函數(shù)。隨后便是給該顏色變量定義一個(gè)十六進(jìn)制的顏色變量,這里是白色我們用”#ffffff”。我們**終要說明的就是變量white就是指白色,black就是指黑色,**后兩行代碼的目的是設(shè)置前景色為黑色背景色為白色。這段代碼是相當(dāng)淺顯可讀的。在PS軟件內(nèi)與之等價(jià)的操作便是點(diǎn)擊“D”鍵充值背景色和前景色?,F(xiàn)在試試在ps軟件中給前景色和背景色設(shè)置任意的值,然后運(yùn)行整段代碼仍然可以的大相同的結(jié)果,前景色和背景色都將恢復(fù)設(shè)置。
步驟五
下面我們要做的是將背景填充我們?cè)谏弦徊襟E中定義的白色。為了實(shí)現(xiàn)該目的我們首先要全選該文件的畫布區(qū)域然后填充選區(qū)。代碼如下:
docRef_1.selection.selectAll();
docRef_1.selection.fill(white);
docRef_1.selection.deselect();
**行命令采用了selectAll()函數(shù)來定義了一個(gè)選區(qū),對(duì)于任何可以作用于不同文件的命令我們必須要告知ps我們正在處理的文件,即使當(dāng)前只有一個(gè)打開的文件。第二條命令是指令ps對(duì)選取填充白色。有時(shí)候挺讓人迷惑的,因?yàn)榇蠹一蛟S會(huì)想到給選區(qū)填充白色的命令應(yīng)該是docRef_1.selection.fill = white,而這也并不是毫無道理。然而這并不是正確的代碼,此時(shí)ESTK的提示功能就非常有用了,只要你輸入fill或者其他關(guān)鍵詞,它就會(huì)以下拉框的形式告訴你該關(guān)鍵詞的正確用法。第三行代碼淺顯易懂,就是取消選區(qū),等同于ps中的ctrl D。再次測(cè)試代碼你將得到一個(gè)白色的背景圖層和其上的圖片圖層。在ps軟件中,目前所有的腳本控制可以由ctrl A和shift F5來全選和填充來實(shí)現(xiàn)相同的效果。
步驟六
在接下來的兩個(gè)步驟中我們將用腳本語言來找到圖片的平均顏色值,隨后我們將根據(jù)這個(gè)顏色值來確定將如何編輯該圖片。這段代碼可以有很多其他用處,比如說你可以用一段類似的代碼**分析圖片的顏色組成來建立一個(gè)顏色圖表。在這一步中我們將復(fù)制圖片圖層然后對(duì)該層施加平均模糊濾鏡進(jìn)而找到圖像的平均顏色值,并將圖層填充為該平均色。代碼如下:
docRef_1.layers[0].duplicate();
docRef_1.activeLayer=docRef_1.layers[0];
docRef_1.activeLayer.applyAverage();
**行命令大家很熟悉,我們?cè)诓襟E三中使用過相同的命令,只是這里我們將背景圖層換成了layer[0]。為了很好的理解layer[0]的含義我們需要了解一點(diǎn)JavaScript中關(guān)于數(shù)組的知識(shí)。數(shù)組簡(jiǎn)單的來說就是有不同值的變量集合,在一個(gè)數(shù)組中,變量就像是帶有獨(dú)立信息的盒子,而數(shù)組則像是一個(gè)大盒子,里面裝了很多貼有從零到無窮大的數(shù)字標(biāo)簽的小盒子。比如你想建立一個(gè)包含一周前三天的數(shù)組,你可以編寫如下代碼:
var days = [“Monday”, “Tuesday”, “Wednesday”]
你可以采用如下代碼來引用該數(shù)組中的**天:
days[0]
這就等同于“Monday”,當(dāng)然這里還沒有涉及到后兩行代碼。了解了數(shù)組的基礎(chǔ)知識(shí)后我們可以回過頭去看看我們剛剛所添加的三行代碼。在**行當(dāng)中,layers是一個(gè)包含當(dāng)前文件所有圖層的數(shù)組。在圖層面板的**頂層是數(shù)組的**個(gè)子元素,對(duì)應(yīng)為layers[0]而不是layers
步驟七
這一步會(huì)略微復(fù)雜一點(diǎn),我們要用腳本語言找出步驟六中得到的填充圖層顏色的RGB值。實(shí)現(xiàn)這個(gè)目的沒有所謂的捷徑,我使用的方法是首先用腳本命令選中**個(gè)紅色通道,然后獲取到它的直方圖,再?gòu)?到255對(duì)該直方圖的值進(jìn)行校驗(yàn),直到發(fā)現(xiàn)一個(gè)非零值即為R的數(shù)值,然后對(duì)綠色和藍(lán)色通道重復(fù)同樣的方法。這個(gè)過程在photoshop軟件中會(huì)更加好理解。如果你還沒有跟隨我們腳本的節(jié)奏打開文件,那么再執(zhí)行一次以上的腳本。然后在ps軟件中,**窗口>通道打開通道面板,選擇紅色通道,此時(shí)其他通道都會(huì)被暫時(shí)隱藏,畫布中的圖像則是灰度模式。使用快捷鍵Ctrl L打開色階調(diào)節(jié)面板,我們將看到只有一條垂直線的直方圖,拖動(dòng)輸出色階滑塊中的一個(gè)大致位于這條線的下面,對(duì)應(yīng)的表單框里顯示則是R的數(shù)值。可以用同樣的方法來獲取G和B的數(shù)值。獲取R值的腳本如下,大家可以根據(jù)該原理寫出獲取G和B值的腳本:
for (RLevel = 0; RLevel <= 255; RLevel )
{ if (docRef_1.channels[“Red”].histogram[RLevel]) { break; } }
這段代碼是一個(gè)“for循環(huán)”,**行代碼是指RLevel從0開始,以增量1循環(huán)到255。RLevel 是指RLevel的增量為1。循環(huán)語句內(nèi)部是一個(gè)“if條件語句”,只有當(dāng)小括號(hào)里的條件為真時(shí),程序才會(huì)執(zhí)行花括號(hào)里的代碼。小括號(hào)內(nèi)的代碼是指讓ps獲取docRef_1的紅色通道并且獲取直方圖對(duì)應(yīng)的數(shù)組。我們看到的直方圖并不像是一排小盒子組成的但事實(shí)上它是的,
對(duì)于每一個(gè)輸出的值,在水平方向從0到255都是一個(gè)對(duì)應(yīng)的垂直方向的值。在這個(gè)直方圖中可以看出只有一個(gè)輸出值和非零的值對(duì)應(yīng)那么RLevel的值就可以看作是輸出色階的值。因?yàn)槲覀儧]有在小括號(hào)內(nèi)添加類似等號(hào)或者大于號(hào)之類的符號(hào),程序會(huì)在直方圖返回非零值的返回true,因?yàn)橹挥幸粋€(gè)非零值,那么該返回值即為R的值。If條件語句返回true時(shí)執(zhí)行的命令是break命令,這將終止循環(huán),所以在找到正確值后該段腳本即會(huì)停止。這兩個(gè)靠近的花括號(hào)則是為了結(jié)束“for循環(huán)”和“if條件語句”。
步驟八
如下我總結(jié)了目前所有的代碼,包括關(guān)于綠色通道和藍(lán)色通道顏色值的校驗(yàn):
open(File(openDialog()));
var docRef_1 = activeDocument;
docRef_1.backgroundLayer.duplicate();
var white = new SolidColor();
white.rgb[“hexValue”] = “ffffff”;
var black = new SolidColor();
black.rgb[“hexValue”] = “000000”;
foregroundColor = black;
backgroundColor = white;
docRef_1.selection.selectAll();
docRef_1.selection.fill(white);
docRef_1.selection.deselect();
docRef_1.layers[0].duplicate();
docRef_1.activeLayer = docRef_1.layers[0];
docRef_1.activeLayer.applyAverage();
for (RLevel = 0; RLevel <= 255; RLevel )
{ if (docRef_1.channels[0].histogram[RLevel]) { break; } }
for (GLevel = 0; GLevel <= 255; GLevel )
{ if (docRef_1.channels
for (BLevel = 0; BLevel <= 255; BLevel )
{ if (docRef_1.channels
(譯者注:channels
現(xiàn)在我們來檢驗(yàn)**后一段代碼的可行性,我們用一個(gè)彈出框來顯示RGB的值。在以上代碼片段結(jié)尾處添加如下代碼:
alert(RLevel “, ” GLevel “, ” BLevel)
運(yùn)行腳本,該彈框中應(yīng)該會(huì)出現(xiàn)RGB的值,可以**雙擊前景色切換到取色工具進(jìn)行驗(yàn)證。如果顏色匹配就刪掉這行代碼,如果不匹配或者運(yùn)行錯(cuò)誤的話仔細(xì)檢查或者直接復(fù)制以上代碼重復(fù)嘗試。
步驟九
從現(xiàn)在起我不再反復(fù)去搗那些細(xì)枝末節(jié)的東西因?yàn)榻酉聛砩婕暗降膯栴}基本都有講解過。基于平均色我們可以靈活的用多種方法來處理圖片?,F(xiàn)在我們要做的是給圖層填充一個(gè)顏色并更改它的混合模式為顏色。當(dāng)然,該圖層的填充色的的來由也是依據(jù)的。如果平均色偏藍(lán),那么我們將使用黃色,如果偏綠我們則使用品紅,如果偏紅我們就使用藍(lán)綠色(青色)。我用一個(gè)較長(zhǎng)的步驟來實(shí)現(xiàn)這個(gè)效果同時(shí)給大家展現(xiàn)更多的命令規(guī)則。在這一步當(dāng)中,我們將獲得該填充色的RGB值。代碼如下:
var R = 0; var G = 0; var B = 0;
if (RLevel > GLevel && RLevel > BLevel) { R = 255; }
if (GLevel > BLevel && GLevel > RLevel) { G = 255; }
if (BLevel > RLevel && BLevel > GLevel) { B = 255; }
首先定義變量R、G、B并都賦值為0,然后用三個(gè)“if條件語句”來重新賦值,**條條件語句表明如果平均色的RLevel值大于GLevel和BLevel那么R=255。對(duì)于G和B的值用同樣的方法判斷和執(zhí)行。如果很巧所有值都相等,那么R、G、B的值就保持為0。
步驟十
在這一步中我們根據(jù)上一步的結(jié)果新建一個(gè)顏色值,并用和步驟四和步驟五類似的方法給圖層填充該顏色,代碼如下:
var color = new SolidColor();
color.rgb.red = R;
color.rgb.green = G;
color.rgb.blue = B;
docRef_1.selection.selectAllvel();
docRef_1.selection.fill(color);
docRef_1.selection.deselect();
**的區(qū)別是這里將變量命名為color,因?yàn)樗赡苁羌t色、綠色或者藍(lán)色,這個(gè)案例為藍(lán)色。
步驟十一
接下來執(zhí)行如下代碼:
docRef_1.activeLayer.invert();
docRef_1.activeLayer.blendMode = BlendMode.COLORBLEND;
docRef_1.activeLayer.opacity = 50;
docRef_1.activeLayer.merge();
這里的每條代碼應(yīng)該都像白話文一樣淺顯易懂,該過程在ps軟件中實(shí)現(xiàn)方法是:快捷鍵Ctrl I圖層反相,然后更改圖層混合模式為顏色,并且在圖層面板修改圖層的不透明度**后Ctrl E合并圖層。(譯者注:倡導(dǎo)無損編輯,杜絕輕易合并圖層)
運(yùn)行腳本,我們將得到下圖:
步驟十二
現(xiàn)在我們想給圖片添加一個(gè)邊框,我的實(shí)現(xiàn)方法是用腳本命令擴(kuò)大畫布,然后新建一個(gè)圖層并全選填充白色。在此之前我們需要根據(jù)圖片的尺寸算出邊框的合適尺寸。經(jīng)過一系列嘗試和失敗,我發(fā)現(xiàn)短邊的7.5%是較為合適的邊框厚度。當(dāng)然,我們首先要找出短邊再來算出它的7%,**后還要為畫布的寬度和高度增加雙倍的該尺寸。簡(jiǎn)而言之就是畫布的寬和高都要增加圖片短邊的15%。代碼如下:
var width = docRef_1.width;
var height = docRef_1.height;
if (width <= height) { var borderSize = Math.round(width * 0.15); }
else { var borderSize = Math.round(height * 0.15); }
docRef_1.resizeCanvas(width borderSize, height borderSize);
Okay,我們來分析一下這段腳本。前兩行代碼很簡(jiǎn)單,我們分別定義了一個(gè)變量等于該文件的寬度和高度。然后是一個(gè)“if條件語句”來聲明如果寬度小于或等于高度則執(zhí)行花括號(hào)內(nèi)的命令。命令的**部分大家很熟悉,就是新建一個(gè)變量,第二部分則使用使用了一個(gè)叫做“round”的Math Function(數(shù)學(xué)函數(shù)),作用就是對(duì)括號(hào)里的任意數(shù)值取整。這樣做是因?yàn)橛袝r(shí)候?qū)挾然蛘吒叨鹊?5%可能為小數(shù)(譯者注:避免出現(xiàn)像素不精確的問題)。接下來的“else”語句表明如果寬度大于高度則執(zhí)行該行代碼花括號(hào)里的命令。**后一行代碼根據(jù)邊框的厚度重新定義了畫布大小。注意圖片的周圍加上了1px的灰色邊框因?yàn)榭紤]到文章背景也是白色以示區(qū)分,和腳本操作無關(guān)。
步驟十三
現(xiàn)在你測(cè)試已有的腳本或許會(huì)覺得這看起來不錯(cuò),但是背景圖層會(huì)因?yàn)楫嫴汲叽绲母亩兓?,造成邊框尺寸的變化。所以我們需要新建一個(gè)圖層將邊框畫在里面并且和圖片所在的圖層合并。代碼如下:
docRef_1.artLayers.add();
docRef_1.activeLayer.move(docRef_1.backgroundLayer, ElementPlacement.PLACEBEFORE); docRef_1.selection.selectAll();
docRef_1.selection.fill(white);
docRef_1.selection.deselect();
docRef_1.layers[0].merge();
這段代碼中我們**不熟悉的部分就是我們用在即將創(chuàng)建的一個(gè)活動(dòng)圖層上的move(移動(dòng))命令。括號(hào)里的**部分指明引用我們所定義的背景圖層,第二部分是用方法ElementPlacement.PLACEBEFORE移動(dòng)活動(dòng)圖層到引用的圖層(即這里的背景層)上方。
?
步驟十四
下面我們來添加圖片的陰影圖層,這將成為背景圖層上方一個(gè)黑色填充層。代碼如下:
docRef_1.artLayers.add();
docRef_1.activeLayer.move(docRef_1.backgroundLayer,ElementPlacement.PLACEBEFORE); docRef_1.selection.selectAll();
docRef_1.selection.fill(black);
docRef_1.selection.deselect();
這段代碼和上一步的幾乎相同,只是我們給該圖層填充了黑色,同時(shí)也還沒有合并圖層。如果這時(shí)候你運(yùn)行腳本,就畫布中的內(nèi)容而言應(yīng)該看不出和上一步有什么變化。
步驟十五
Okay,下面我想要再次擴(kuò)展畫布讓它能適應(yīng)圖片任意角度的旋轉(zhuǎn),這需要一點(diǎn)簡(jiǎn)單的畢達(dá)哥拉斯經(jīng)典定理。代碼如下:
var width = docRef_1.width;
var height = docRef_1.height;
var newSize = Math.round(Math.sqrt(width * width height * height)) borderSize; docRef_1.resizeCanvas(newSize, newSize)
前兩行代碼為寬度和高度各自定義了一個(gè)變量。第三行則為當(dāng)前文件的新尺寸定義了一個(gè)變量,函數(shù)Math.sqrt 是指對(duì)括號(hào)里的內(nèi)容開根號(hào),**后我們加上了邊框的距離**主要是考慮到我們要施加的陰影圖層。**后一行重定了畫布大小。
步驟十六
為了創(chuàng)建陰影,我們希望能用腳本控制之前創(chuàng)建黑色圖層對(duì)它施加一個(gè)高斯模糊濾鏡。
**嘗試我發(fā)現(xiàn)高斯模糊的大小用邊框的1/3,不透明度采用50%能達(dá)到較好的效果。該部分代碼如下:
docRef_1.activeLayer.applyGaussianBlur(borderSize / 3);
docRef_1.activeLayer.opacity = 50;
**行的代碼原理同第六步中我們對(duì)圖片所在圖層施加平均模糊濾鏡。
步驟十七
現(xiàn)在我們想用腳本控制圖片和陰影一起旋轉(zhuǎn),然后合并它們,這比先合并后旋轉(zhuǎn)能得到更好的結(jié)果。我們希望腳本能夠?qū)崿F(xiàn)圖片每次的旋轉(zhuǎn)尺寸是-20°到20°之間的隨機(jī)值,可以編寫如下代碼:
var angle = Math.round(Math.random() * 40) - 20; docRef_1.activeLayer.rotate(angle, AnchorPosition.MIDDLECENTER); docRef_1.activeLayer = docRef_1.layers[0]; docRef_1.activeLayer.rotate(angle, AnchorPosition.MIDDLECENTER); docRef_1.activeLayer.merge();
在**行代碼中,函數(shù)Math.random可以得到一個(gè)0到1之間的隨機(jī)值,不是一個(gè)整數(shù),這也是我們使用Math.round取整函數(shù)的原因。為了得到-20到20之間的隨機(jī)數(shù),我們用40與0到1之間的小數(shù)相乘并且對(duì)結(jié)果取整,再減去20,將所得的結(jié)果保存在變量angle中。下面執(zhí)行旋轉(zhuǎn)操作的代碼將作用于當(dāng)前的活動(dòng)圖層即陰影層,第二行代碼括號(hào)里定義了旋轉(zhuǎn)的角度為angle,而錨點(diǎn)的位置則是中心點(diǎn)。在ps軟件中可以用過快捷鍵Ctrl T執(zhí)行旋轉(zhuǎn)操作。**后三行代碼執(zhí)行了選中圖片圖層,和陰影圖層旋轉(zhuǎn)相同角度并且合并的操作。結(jié)果如下圖:
**終代碼
//步驟二? 初始化
preferences.rulerUnits = Units.PIXELS;
displayDialogs = DialogModes.
//步驟三? 打開文件、復(fù)制背景層
open(File(openDialog()));
var docRef_1 = activeDocument;
docRef_1.backgroundLayer.duplicate();
//步驟四? 定義黑色和白色的十六進(jìn)制顏色值,更改前景色和背景色
var white = new SolidColor();
white.rgb[“hexValue”] = “ffffff”;
var black = new SolidColor();
black.rgb[“hexValue”] = “000000”;
foregroundColor = black;
backgroundColor = white;
//步驟五? 填充白色
docRef_1.selection.selectAll();
docRef_1.selection.fill(white);
docRef_1.selection.deselect();
//步驟六? 復(fù)制圖片圖層并施加平均模糊濾鏡
docRef_1.layers[0].duplicate();
docRef_1.activeLayer = docRef_1.layers[0];
docRef_1.activeLayer.applyAverage();
//步驟七? **通道直方圖取步驟六得到的平均色填充層的顏色
for (RLevel = 0; RLevel <= 255; RLevel ) { if (docRef_1.channels[0].histogram[RLevel]) { break; } }
for (GLevel = 0; GLevel <= 255; GLevel ) { if (docRef_1.channels
for (BLevel = 0; BLevel <= 255; BLevel ) { if (docRef_1.channels
//步驟九? 調(diào)色
var R = 0; var G = 0; var B = 0;
if (RLevel > GLevel && RLevel > BLevel) { R = 255; }
if (GLevel > BLevel && GLevel > RLevel) { G = 255; }
if (BLevel > RLevel && BLevel > GLevel) { B = 255; }
//步驟十? 填色
var color = new SolidColor();
color.rgb.red = R; color.rgb.green = G; color.rgb.blue = B;
docRef_1.selection.selectAll();
docRef_1.selection.fill(color);
docRef_1.selection.deselect();
//步驟十一? 填色層反相,更改混合模式為顏色,降低不透明度,合并圖層
docRef_1.activeLayer.invert();
docRef_1.activeLayer.blendMode = BlendMode.COLORBLEND;
docRef_1.activeLayer.opacity = 50;
docRef_1.activeLayer.merge();
//步驟十二? 重定畫布大小
var width = docRef_1.width;
var height = docRef_1.height;
if (width <= height) { var borderSize = Math.round(width * 0.15); }
else { var borderSize = Math.round(height * 0.15); }
docRef_1.resizeCanvas(width borderSize, height borderSize);
//步驟十三? 增加邊框
docRef_1.artLayers.add();
docRef_1.activeLayer.move(docRef_1.backgroundLayer, ElementPlacement.PLACEBEFORE); docRef_1.selection.selectAll();
docRef_1.selection.fill(white);
docRef_1.selection.deselect();
docRef_1.layers[0].merge();
//步驟十四? 添加黑色填充層,為添加陰影做好準(zhǔn)備
docRef_1.artLayers.add();
docRef_1.activeLayer.move(docRef_1.backgroundLayer, ElementPlacement.PLACEBEFORE);
docRef_1.selection.selectAll();
docRef_1.selection.fill(black);
docRef_1.selection.deselect();
//步驟十五? 再次增加畫布大小 ,適應(yīng)圖片任意角度旋轉(zhuǎn)
var width = docRef_1.width;
var height = docRef_1.height;
var newSize = Math.round(Math.sqrt(width * width height * height)) borderSize;
docRef_1.resizeCanvas(newSize, newSize);
//步驟十六? 對(duì)黑色填充層施加高斯模糊濾鏡,陰影展現(xiàn)
docRef_1.activeLayer.applyGaussianBlur(borderSize / 3);
docRef_1.activeLayer.opacity = 50;
//步驟十七? 對(duì)圖片圖層和陰影圖層隨機(jī)旋轉(zhuǎn)相同角度,合并
var angle = Math.round(Math.random() * 40) – 20;
docRef_1.activeLayer.rotate(angle, AnchorPosition.MIDDLECENTER);
docRef_1.activeLayer = docRef_1.layers[0];
docRef_1.activeLayer.rotate(angle,AnchorPosition.MIDDLECENTER);
docRef_1.activeLayer.merge();
結(jié)語
這只是ps腳本語言的一個(gè)入門,重在理解它的方法和思想。如果你能閱讀**方api文檔繼續(xù)學(xué)習(xí),或許能實(shí)現(xiàn)很多手動(dòng)操作軟件無法實(shí)現(xiàn)的效果。
或者你代碼能力夠強(qiáng),也能用腳本語言為大家編寫ps外掛濾鏡和插件。當(dāng)然,**重要的還是對(duì)設(shè)計(jì)的理解和追求,這要?jiǎng)龠^所有的軟件技巧。
原文標(biāo)題:Manipulate an Image with Scripting
原文地址:photoshoptutorials
聯(lián)展網(wǎng) SDC翻茄匠:@Gaoyoungor
================關(guān)于聯(lián)展網(wǎng)================
“聯(lián)展網(wǎng)“是一個(gè)分享網(wǎng)頁設(shè)計(jì)、無線端設(shè)計(jì)以及PS教程的干貨網(wǎng)站。
【特色推薦】
設(shè)計(jì)講座:每月邀請(qǐng)國(guó)內(nèi)互聯(lián)網(wǎng)公司設(shè)計(jì)前輩及行業(yè)總監(jiān)在群內(nèi)及YY語音(YY頻道:15335158)分享實(shí)戰(zhàn)經(jīng)驗(yàn)。
設(shè)計(jì)微博:擁有粉絲量40萬的@優(yōu)秀網(wǎng)頁設(shè)計(jì) ,歡迎關(guān)注獲取網(wǎng)頁設(shè)計(jì)資源、**頂尖設(shè)計(jì)素材。
設(shè)計(jì)導(dǎo)航:全球頂尖設(shè)計(jì)網(wǎng)站推薦,設(shè)計(jì)師必備導(dǎo)航:
———————————————————–
想在手機(jī)上、被窩里獲取設(shè)計(jì)教程、經(jīng)驗(yàn)分享和各種意想不到的”福利”嗎?
添加 優(yōu)秀網(wǎng)頁設(shè)計(jì) 的全拼
您也可以**掃描下方二維碼快速添加:
相關(guān)推薦:
蘇州平面設(shè)計(jì)培訓(xùn) 蘇州平面設(shè)計(jì)培訓(xùn)班 蘇州平面設(shè)計(jì)培訓(xùn)機(jī)構(gòu)
上一篇:太倉(cāng)平面設(shè)計(jì)具備_太倉(cāng)平面設(shè)計(jì)培訓(xùn) 下一篇:張家港平面設(shè)計(jì)培訓(xùn)_張家港平面設(shè)計(jì)培訓(xùn)免費(fèi)體驗(yàn)課開班倒計(jì)時(shí)
稍后會(huì)有專業(yè)老師給您回電,請(qǐng)保持電話暢通
選課
- python開發(fā)
- 小兒推拿師
- 母嬰護(hù)理師
- 產(chǎn)后恢復(fù)師
- 幼師資格
- 美國(guó)注冊(cè)管理會(huì)計(jì)師
- 月嫂
- web前端
- 消防工程師
- 催乳師
- UI設(shè)計(jì)
- 插花
- 電工
- PLC編程
- 淘寶開店
- 育嬰師
- 健康管理師
- 機(jī)械設(shè)計(jì)
- 教師資格
- 法語
- 德語
- 韓語
- 日語
- 二級(jí)建造師
- JAVA
- 英語等級(jí)
- 造價(jià)員
- 會(huì)計(jì)實(shí)操
- 會(huì)計(jì)職稱
- 稅務(wù)師
- 人力資源師
- 繪畫
- 會(huì)計(jì)從業(yè)資格
- 注冊(cè)會(huì)計(jì)師
- 中級(jí)會(huì)計(jì)師
- 會(huì)計(jì)師
- 服裝設(shè)計(jì)
- 內(nèi)審員
- 心理咨詢師
- 營(yíng)養(yǎng)師
- 電子商務(wù)
- 室內(nèi)設(shè)計(jì)
- 一級(jí)建造師
- 平面設(shè)計(jì)
- 辦公軟件
- 新概念英語
- 商務(wù)英語
- 公共英語
最新新聞
- 義烏絲網(wǎng)印刷機(jī)崗位培訓(xùn)
- 我來推薦,哈爾濱平面設(shè)計(jì)繪圖培訓(xùn)
- 平面設(shè)計(jì)培訓(xùn)看這里,哈爾濱平面設(shè)計(jì)培訓(xùn)班哪家好
- 優(yōu)選,哈爾濱平面設(shè)計(jì)培訓(xùn)機(jī)構(gòu)哪家好
- 我來推薦,哈爾濱平面設(shè)計(jì)CAD制圖培訓(xùn)班
- 盤點(diǎn)一下,哈爾濱平面設(shè)計(jì)培訓(xùn)哪個(gè)機(jī)構(gòu)比較好
- 溫州瑞安市Photoshop培訓(xùn)班價(jià)格
- 溫州正規(guī)的Photoshop培訓(xùn)如何選擇
- 口碑好的!南昌前三美工設(shè)計(jì)培訓(xùn)班費(fèi)用多少
- 溫州永嘉縣平面設(shè)計(jì)培訓(xùn)班價(jià)格