不務(wù)正業(yè)~半天時(shí)間寫(xiě)了一個(gè)批量生成標(biāo)簽圖片的ps腳本

ps腳本早有耳聞地沮,此前用過(guò)網(wǎng)上批量修改導(dǎo)出圖片名稱(chēng)的腳本,因而對(duì)腳本批量處理圖片一直有一種崇敬酌泰,科技手段就是生產(chǎn)力呀购撼!
這次碰巧產(chǎn)品因?yàn)殚_(kāi)發(fā)周期緊湊的原因跪削,為了快速更換之前不科學(xué)的人工輸出的大量圖標(biāo),又一次需要大量輸出圖標(biāo)份招,自己就從0開(kāi)始用了半天時(shí)間寫(xiě)了一個(gè)ps腳本


此前為了給開(kāi)發(fā)節(jié)約時(shí)間成本切揭,使用了不科學(xué)的實(shí)現(xiàn)方式,對(duì)每一個(gè)等級(jí)的圖標(biāo)都采用了人工輸出一張圖片的方式锁摔,而不是客戶(hù)端動(dòng)態(tài)生成所要的圖片(一種難以啟齒的方式廓旬,這里就不說(shuō)產(chǎn)品和工程上的問(wèn)題了,說(shuō)好的不務(wù)正業(yè))
以上需要快速生成的圖標(biāo)谐腰,需要?jiǎng)討B(tài)修改的有背景孕豹,文字部分,數(shù)字等級(jí)部分
實(shí)現(xiàn)方式:將要更換的背景制作好十气,放到ps中的不同涂層励背,如下圖:



將要填入的文字標(biāo)簽用數(shù)組的方式存下來(lái),偽碼農(nóng)廢話不多說(shuō)上代碼:

//這里我使用了二維數(shù)組直接生成兩組標(biāo)簽
var arrayItem = [["小白","平民","蘿莉","玉女","歐尼","御姐","富美","森女","女神","女王"],["小白","平民","正太","金童","偶吧","大叔","富帥","暖男","男神","男帝"]]
//三層循環(huán)砸西,第一次便利標(biāo)簽組叶眉,第二層遍歷每組中的文字標(biāo)簽址儒,第三層遍歷等級(jí)
for(var i=10;i<25;i++){
    for(var j=0;j<10;j++){
        for(var l=j*5+1;l<=(j+1)*5;l++){
            if(l<11){
              //找到ps里的圖層[0]和數(shù)組類(lèi)似,表示從上到下第一個(gè)圖層
              //設(shè)置可見(jiàn).visible
                app.activeDocument.artLayers[0].visible = true
                app.activeDocument.artLayers[1].visible = false
                app.activeDocument.artLayers[4].visible = false
                }
            if(l>10&&l<21){
                app.activeDocument.artLayers[0].visible = false
                app.activeDocument.artLayers[1].visible = true
                }
            if(l>20&&l<31){
                app.activeDocument.artLayers[2].visible = true
                app.activeDocument.artLayers[1].visible = false
                }
            if(l>30&&l<41){
                app.activeDocument.artLayers[3].visible = true
                app.activeDocument.artLayers[2].visible = false
                }
            if(l>40&&l<51){
                app.activeDocument.artLayers[4].visible = true
                app.activeDocument.artLayers[3].visible = false
                }
            createItems (l,i,j)
            }
        }
    }

function createItems(l,i,j){ 
    //創(chuàng)建文字圖層
    var textLayer = app.activeDocument.artLayers.add()
    var color1 = new SolidColor()  //創(chuàng)建文字顏色
    color1.rgb.hexValue = "FFFFFF"
    textLayer.kind = LayerKind.TEXT
    app.activeDocument.activeLayer.textItem.color = color1
    app.activeDocument.activeLayer.textItem.font= "FZLTZHUNHJW--GB1-0"   //修改文字字體
    textLayer.textItem.position= [UnitValue("27px"), UnitValue("21px")]  //調(diào)整位置
    textLayer.textItem.size = UnitValue("16 pt")  //字體大小
    textLayer.textItem.contents = arrayItem[i][j]  //文字內(nèi)容
    
    var levelLayer = app.activeDocument.artLayers.add()
    levelLayer.kind = LayerKind.TEXT
    var color2 = new SolidColor()
    var colortype = color2Set(l)
    $.write (l)  //打log
    color2.rgb.hexValue = colortype
    app.activeDocument.activeLayer.textItem.color = color2
    app.activeDocument.activeLayer.textItem.font= "FZLTZHUNHJW--GB1-0"
    if(l<10){
        levelLayer.textItem.position= [UnitValue("73px"), UnitValue("22px")]
        }
    else{
        levelLayer.textItem.position= [UnitValue("67px"), UnitValue("22px")]
        }
    levelLayer.textItem.size = UnitValue("18 pt")
    levelLayer.textItem.contents = String(l)
    exportPng (i+1,l)
    textLayer.remove()
    levelLayer.remove()
    }
//輸出png圖標(biāo)的函數(shù)
function exportPng(folderName,exportName){
    var document = app.activeDocument
    var exportPath = "/Users/huangjinxue/Desktop/tabs/"+String(folderName)+"/"
    var fileName = String(folderName)+"_"+"L"+String(exportName)+".png"
    var fileOut = new File (exportPath+fileName)
    var exportOptionsSaveForWeb = new ExportOptionsSaveForWeb()
    exportOptionsSaveForWeb.transparency = true
    exportOptionsSaveForWeb.includeProfile = true
    exportOptionsSaveForWeb.lossy = 0
    exportOptionsSaveForWeb.PNG8 = false  //設(shè)置為png24 
    exportOptionsSaveForWeb.colors = 256
    exportOptionsSaveForWeb.colorReduction = ColorReductionType.SELECTIVE
    exportOptionsSaveForWeb.format = SaveDocumentType.PNG
    exportOptionsSaveForWeb.ditherAmount = 0
    exportOptionsSaveForWeb.dither = Dither.NOISE 
    exportOptionsSaveForWeb.palette = Palette.LOCALADAPTIVE 
    document.exportDocument(fileOut, ExportType.SAVEFORWEB, exportOptionsSaveForWeb) 
    }

function color2Set(l){
    var colortype = "ffffff"
    if(l<11){
                colortype = "fd8098"
                return colortype
                }
    if(l>10&&l<21){
                colortype = "1ba2e6"
                return colortype
                }
    if(l>20&&l<31){
                colortype = "ea6948"
                return colortype
                }
    if(l>30&&l<41){
                colortype = "fec73b"
                return colortype
                }
    if(l>40&&l<51){
                colortype = "983eed"
                return colortype
                }
    else{
                colortype = "ffffff"
                return colortype
          }
    }

輸出的圖片

當(dāng)然衅疙,整個(gè)過(guò)程少不了nullice大神的教程~
http://nullice.com/archives/1822#i-3
http://nullice.com/archives/1790#i-4
以及官方開(kāi)發(fā)文檔
http://wwwimages.adobe.com/content/dam/Adobe/en/devnet/photoshop/pdfs/photoshop-cc-javascript-ref-2015.pdf

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末莲趣,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子饱溢,更是在濱河造成了極大的恐慌喧伞,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,042評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件绩郎,死亡現(xiàn)場(chǎng)離奇詭異潘鲫,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)肋杖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門(mén)溉仑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人兽愤,你說(shuō)我怎么就攤上這事彼念。” “怎么了浅萧?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,674評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)哲思。 經(jīng)常有香客問(wèn)我洼畅,道長(zhǎng),這世上最難降的妖魔是什么棚赔? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,340評(píng)論 1 283
  • 正文 為了忘掉前任帝簇,我火速辦了婚禮,結(jié)果婚禮上靠益,老公的妹妹穿的比我還像新娘丧肴。我一直安慰自己,他們只是感情好胧后,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布芋浮。 她就那樣靜靜地躺著,像睡著了一般壳快。 火紅的嫁衣襯著肌膚如雪纸巷。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,749評(píng)論 1 289
  • 那天眶痰,我揣著相機(jī)與錄音瘤旨,去河邊找鬼。 笑死竖伯,一個(gè)胖子當(dāng)著我的面吹牛存哲,可吹牛的內(nèi)容都是我干的因宇。 我是一名探鬼主播,決...
    沈念sama閱讀 38,902評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼祟偷,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼羽嫡!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起肩袍,我...
    開(kāi)封第一講書(shū)人閱讀 37,662評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤杭棵,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后氛赐,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體魂爪,經(jīng)...
    沈念sama閱讀 44,110評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年艰管,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了滓侍。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,577評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡牲芋,死狀恐怖撩笆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情缸浦,我是刑警寧澤夕冲,帶...
    沈念sama閱讀 34,258評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站裂逐,受9級(jí)特大地震影響歹鱼,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜卜高,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評(píng)論 3 312
  • 文/蒙蒙 一弥姻、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧掺涛,春花似錦庭敦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,726評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至矮燎,卻和暖如春定血,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背诞外。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,952評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工澜沟, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人峡谊。 一個(gè)月前我還...
    沈念sama閱讀 46,271評(píng)論 2 360
  • 正文 我出身青樓茫虽,卻偏偏與公主長(zhǎng)得像刊苍,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子濒析,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容