二、找茬游戲中腳本的應(yīng)用
項(xiàng)目要求:制作一大批圖片。每?jī)煞唤M,兩幅之間有十處不同,記錄每處不同的矩形區(qū)域坐標(biāo)。
首先是制作圖片:其實(shí)就是簡(jiǎn)單的p圖,制造一些差異。 為了方便對(duì)比觀察,避免錯(cuò)漏,使用了cs3的智能對(duì)象的堆棧功能(new)。 感覺(jué)這樣比較方便比較,能在精確查看不同的同時(shí)ps圖片的內(nèi)容。
首先建立固定大小的文件,再把素材圖拉進(jìn)來(lái),調(diào)整大小,然后ctrl+e合并到底層(合并是為了確保未來(lái)的智能對(duì)象大小和圖像大小一致),ctrl+j 新建一層。我們只ps 新建出來(lái)的這一層,下面不動(dòng)。 因?yàn)橛?0處差異,所以光靠切換可視對(duì)比~比較辛苦,且容易錯(cuò)漏,[差值]對(duì)比效果也差又累。 所以我們同時(shí)選中兩個(gè)圖層,右鍵-[轉(zhuǎn)換為智能對(duì)象],然后菜單-圖層-智能對(duì)象-堆棧模式-標(biāo)準(zhǔn)偏差
這時(shí)候我們就明顯看到兩層之間的差異了, 我們可以雙擊圖層面板的智能對(duì)象縮略圖,就可以展開進(jìn)入智能對(duì)象內(nèi)部,繼續(xù)編輯兩個(gè)圖層
我們?cè)谥悄軐?duì)象內(nèi)部編輯的時(shí)候,只要隨手ctrl+s 保存一下,就可以看到原圖(黑色那張)上的差異變化了。
圖像處理完后,然后就是獲得由差異區(qū)域的坐標(biāo):程序需要把差異區(qū)域作為一個(gè)個(gè)矩形,要得到每個(gè)區(qū)域左上角和右下角的坐標(biāo)。
最開始,想把所有區(qū)域拉出選區(qū),然后通過(guò) cs3 的新增統(tǒng)計(jì)功能獲得詳細(xì)的選區(qū)數(shù)據(jù),結(jié)果~~ 非常遺憾,統(tǒng)計(jì)可以同時(shí)獲得所有選區(qū)的周長(zhǎng)、長(zhǎng)寬、面積甚至密度~ 就是不給出具體的每一組坐標(biāo)(如下圖所示)
于是只有改變做法,這時(shí)候想到了腳本 里面的 selection.bounds 獲得選區(qū)坐標(biāo), 遺憾的發(fā)現(xiàn),似乎腳本里面沒(méi)有獲取多個(gè)區(qū)域選取數(shù)據(jù)的方法,只能獲得總選區(qū)的左上角+右下角坐標(biāo) 也就是說(shuō)10個(gè)區(qū)域當(dāng)成一個(gè)大區(qū)域來(lái)看了。~
繼續(xù)改變方案,改用圖層,每個(gè)圖層只記錄一個(gè)區(qū)域,總可以了吧~~ 因?yàn)橹暗慕?jīng)驗(yàn),確定圖層的范圍坐標(biāo)是可以在腳本里通過(guò) ArtLayer.bounds 獲取的。 所以接下來(lái)要做的事情就是手動(dòng)建立一個(gè)個(gè)小矩形的圖層。
由于工作量巨大,不偷懶是不行的,所以錄制了一個(gè)動(dòng)作
可以看到,這個(gè)動(dòng)作錄制了3步:
- 新建圖層
- 填充選區(qū)
- 取消選區(qū)
而且這個(gè)動(dòng)作設(shè)置了快捷鍵 F12 (雙擊動(dòng)作名稱,就可以設(shè)置快捷鍵)
有了這個(gè)動(dòng)作,我只要拉出一個(gè)選區(qū),然后按一下 F12,就自動(dòng)新建一個(gè)圖層,并填充好。 這樣就方便腳本獲取每層的數(shù)據(jù)了。 完成后的文件結(jié)構(gòu)如下:
上面是10層不同位置的矩形,最底層是一個(gè)智能對(duì)象(包含兩個(gè)圖層,上面一層為修改后的,下面一層為原圖) 文件格式ok,接下來(lái)就是腳本大顯身手的地方了。
出處:藍(lán)色理想
責(zé)任編輯:bluehearts
上一頁(yè) 談PS動(dòng)作、腳本實(shí)際工作中的應(yīng)用 [1] 下一頁(yè) 談PS動(dòng)作、腳本實(shí)際工作中的應(yīng)用 [3]
◎進(jìn)入論壇Photoshop、Fireworks版塊參加討論,我還想發(fā)表評(píng)論。
|