導(dǎo)讀Adobe Photoshop,簡(jiǎn)稱“PS”,是由Adobe Systems開(kāi)發(fā)和發(fā)行的圖像處理軟件。Photoshop主要處理以像素所構(gòu)成的數(shù)字圖像。使用其眾多的編修與繪圖工具,可以有效地進(jìn)行圖片... Adobe Photoshop,簡(jiǎn)稱“PS”,是由Adobe Systems開(kāi)發(fā)和發(fā)行的圖像處理軟件。Photoshop主要處理以像素所構(gòu)成的數(shù)字圖像。使用其眾多的編修與繪圖工具,可以有效地進(jìn)行圖片編輯工作。ps有很多功能,在圖像、圖形、文字、視頻、出版等各方面都有涉及。 Photoshop腳本語(yǔ)言Photoshop支持三種腳本語(yǔ)言:AppleScript,VBScript,JavaScript。其中AppleScript為蘋果系統(tǒng),VBScript為Windows操作系統(tǒng),JavaScript兼容蘋果和Windows操作系統(tǒng)。
Photoshop可識(shí)別JavaScript腳本,其腳本文件后綴必須為*.jsx或者*.js文件。你可以通過(guò)文件(File) >腳本(Scripts) >瀏覽(Browse)打開(kāi)并執(zhí)行JavaScript腳本文件。 Photoshop對(duì)象模型 DOM(Document Object Model)即為一個(gè)API(Application Programming Interface),你可以通過(guò)DOM應(yīng)用腳本語(yǔ)言執(zhí)行各種操作。
JavaScript腳本 1、Hello World示例 本實(shí)例操作如下:1、打開(kāi)Photoshop;2、新建一個(gè)文件;3、新建一個(gè)ArtLayer圖層;4、將ArtLayer轉(zhuǎn)換為文本圖層;5、將文本內(nèi)容設(shè)置為“Hello World”。
JavaScript腳本語(yǔ)言為: //設(shè)置單位 app.preferences.rulerUnits = Units.INCHES // 新建一個(gè)2*4INCHES的文件 var docRef = app.documents.add( 2, 4 ) //新建一個(gè)ArtLayer圖層 var artLayerRef = docRef.artLayers.add() //設(shè)置ArtLayer圖層為文本圖層 artLayerRef.kind = LayerKind.TEXT //設(shè)置文本圖層文字內(nèi)容 var textItemRef = artLayerRef.textItem textItemRef.contents = "Hello World" //釋放參考 docRef = null artLayerRef = null textItemRef = null 實(shí)現(xiàn)效果為:
2、獲得Application對(duì)象 你可以通過(guò)預(yù)定義的全局對(duì)象app獲得Photoshop Application對(duì)象。下面的例子說(shuō)明了如何獲取一個(gè)Document文件: var docRef = app.documents[0] 上面的表達(dá)式也可寫為: var docRef = documents[0] 3、新建一個(gè)對(duì)象 你可以通過(guò)File > New新建一個(gè)PSD文件。別的類型的如圖層、通道、路徑等,你可以用過(guò)菜單或者別的方式新建。在JavaScript腳本中,你可以通過(guò)add()實(shí)現(xiàn)對(duì)象的新建。例如: 1) 新建一個(gè)PSD文件 documents.add()或者app.documents.add() 2) 新建一個(gè)ArtLayer圖層 documents[0].artLayers.add() 4、設(shè)置激活對(duì)象 1) 設(shè)置激活文件 var docRef = app.documents[0] app.activeDocument= docRef 2) 設(shè)置激活A(yù)rtLayer圖層 docRef.activeLayer = docRef.layers[0] 3) 設(shè)置激活通道 docRef.activeChannels = new Array(docRef.channels[0], docRef.channels[2]) 5、打開(kāi)一個(gè)文件 由于Photoshop能打開(kāi)的格式多種多樣,所以你可以選用open/Open/open()命令打開(kāi)一個(gè)已存在的文件。
1) 打開(kāi)一個(gè)PSD文件 var fileRef = File("C:/Users/Administrator/Desktop/test.psd") var docRef = app.open(fileRef) 2) 打開(kāi)一個(gè)Pdf文件 //設(shè)置單位 var originalRulerUnits = app.preferences.rulerUnits app.preferences.rulerUnits = Units.PIXELS //獲得打開(kāi)文件的名稱 var fileRef = new File("C:/Users/Administrator/Desktop/myfile.pdf") //新建一個(gè)PDFOpenOptions var pdfOpenOptions = new PDFOpenOptions pdfOpenOptions.antiAlias = true pdfOpenOptions.mode = OpenDocumentMode.RGB pdfOpenOptions.resolution = 72 pdfOpenOptions.page = 3 //打開(kāi)文件 app.open( fileRef, pdfOpenOptions ) 6、保存文件 Photoshop可保存的文件格式如下:
1) 保存為jpg圖片 jpgFile = new File( "C:/Users/Administrator/Desktop/test.jpg" ) jpgSaveOptions = new JPEGSaveOptions() jpgSaveOptions.embedColorProfile = true jpgSaveOptions.formatOptions = FormatOptions.STANDARDBASELINE jpgSaveOptions.matte = MatteType.NONE jpgSaveOptions.quality = 1 app.activeDocument.saveAs(jpgFile, jpgSaveOptions, true,Extension.LOWERCASE) 6、layer層對(duì)象 Photoshop對(duì)象模型里面包含兩個(gè)layer層對(duì)象:圖層(ArtLayer)和組(Layer Set)。 1) 創(chuàng)建一個(gè)ArtLayer圖層對(duì)象 //新建文件 app.documents.add() //新建層 var layerRef = app.activeDocument.artLayers.add() //設(shè)置層名稱 layerRef.name = "MyBlendLayer" layerRef.blendMode = BlendMode.NORMAL 2) 創(chuàng)建一個(gè)組 //新建文件和圖層 app.documents.add() var layer=app.activeDocument.artLayers.add() layer.name="layer" //新建組和圖層 var newLayerSetRef = app.activeDocument.layerSets.add() newLayerSetRef.name="layerset" var layerset=newLayerSetRef.artLayers.add() layerset.name="layerset" 7、應(yīng)用Layer Set對(duì)象 你可以將一個(gè)圖層移到一個(gè)組里,也可以進(jìn)行圖層鏈接等操作。 1) 復(fù)制圖層到組 //新建文件,新建圖層,新建組,并復(fù)制圖層到組 var docRef = app.documents.add() docRef.artLayers.add() var layerSetRef = docRef.layerSets.add() var layerRef = docRef.artLayers[0].duplicate(layerSetRef,ElementPlacement.PLACEATEND) 2) 鏈接圖層 var layerRef1 = docRef.artLayers.add() var layerRef2 = docRef.artLayers.add() layerRef1.link(layerRef2) 8、應(yīng)用文本對(duì)象 1) ArtLayer轉(zhuǎn)換為文本層。 var newLayerRef = docRef.artLayers.add() newLayerRef.kind = LayerKind.TEXT 2) 給文本層添加文字 var textLayerRef = docRef.artLayers.add() textLayerRef.name = "my text" textLayerRef.kind = LayerKind.TEXT var textItemRef = docRef.artLayers["my text"].textItem textItemRef.contents = "Hello, World!" textItemRef.justification = Justification.RIGHT 9、應(yīng)用選擇對(duì)象 1) 創(chuàng)建和定義選擇 var docRef = app.documents.add(500, 500) var shapeRef = [ [0,0], [0,100], [100,100], [100,0] ] 2) 添加邊框 strokeColor = new solidColor strokeColor.cmyk.cyan = 20 strokeColor.cmyk.magenta = 50 strokeColor.cmyk.yellow = 30 strokeColor.cmyk.black = 0 app.activeDocument.selection.stroke (strokeColor, 2,StrokeLocation.OUTSIDE, ColorBlendMode.VIVIDLIGHT, 75, false) 3) 反向選擇 var selRef = app.activeDocument.selection selRef.invert() 4) 擴(kuò)展、感染、羽化 var selRef = app.activeDocument.selection selRef.expand( 5 ) selRef.contract( 5 ) selRef.feather( 5 ) 更多PhotoShop腳本指南相關(guān)文章請(qǐng)關(guān)注PHP中文網(wǎng)!
Photoshop默認(rèn)保存的文件格式,可以保留所有有圖層、色版、通道、蒙版、路徑、未柵格化文字以及圖層樣式等。 |
溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!