用ps腳本自動(dòng)合成新聞稿四格圖片

2022-12-26 18:31:46 來(lái)源/作者: / 己有:111人學(xué)習(xí)過(guò)

1》ReadMe.txt
包含文件:
1)ReadMe.txt
2)PhotoCombination.js,若后綴不是.js,請(qǐng)直接改成.js后綴。

功能介紹:
由于宣傳工作的需要,經(jīng)常需要把4幅圖片合成1幅圖片,就是類(lèi)似以前的四格漫畫(huà)形式。由于每次的合成操作都是重復(fù)的,因此在PS中運(yùn)行該腳本可以自動(dòng)完成合成過(guò)程。

圖解功能:
素材:4幅圖片,存放在d盤(pán)根目錄下,命名規(guī)則為:1.jpg,2.jpg,3.jpg,4.jpg。
合成效果:合成后圖片名稱(chēng)默認(rèn)為jsj_wuchao.jpg,存放在d盤(pán)根目錄下。
合成規(guī)則: +------+------+ ,合成圖片中各部分間隔均為4個(gè)像素。
|1.jpg | 2.jpg|
+------+------+
|3.jpg | 4.jpg|
+------+------+

要求:
1)photoshop版本要求:ps cs2及以上版本,少數(shù)極精簡(jiǎn)版本不適用。
2)操作系統(tǒng)要求:windows平臺(tái)。
3)圖片格式限制:合成后的圖片只能保存為jpg格式,被合成的圖片格式為常見(jiàn)的jpg、png、bmp、gif。
4)圖片大小無(wú)限制。

使用方式:
1)將選好的4幅圖片,按照合成規(guī)則命名后存放在d盤(pán)根目錄下。
2)打開(kāi)ps軟件,[文件]->[腳本]->[瀏覽]->[選中.js文件]->[載入],當(dāng)所有打開(kāi)的窗口完全關(guān)閉時(shí)可以退出ps軟件,運(yùn)行結(jié)果默認(rèn)存放在d盤(pán)根目錄下的jsj_wuchao.jpg文件。

高級(jí)用法:(修改newsphoto_process.js文件)
1)改變默認(rèn)文件存放路徑。
a)例如:var path1 = "d:/1.jpg" ,代表素材圖片1.jpg的存放路徑。
b)例如:var savepath = "d:/jsj_wuchao.jpg" ,代表合成后圖片jsj_wuchao.jpg存放路徑。
2)改變默認(rèn)尺寸。
a)var bgwidth = new UnitValue(600,"px") ,合成后圖片寬為600像素。
var bgheight = new UnitValue(480,"px") ,合成后圖片高為480像素。
var partwidth = new UnitValue(298,"px") ,素材圖片寬為298像素
var partheight = new UnitValue(238,"px") ,素材圖片高為238像素
注:以上4個(gè)變量給定,則合成圖片中各部分間隔也確定(600-(298*2)=4)。
b)若a)改變,則相應(yīng)必須改變b)。
var xup= new UnitValue(-151,"px")//計(jì)算規(guī)則-151 = - (bgwidth - partwidth)/2
var xdown= new UnitValue(151,"px")//計(jì)算規(guī)則151 = (bgwidth - partwidth)/2
var yup= new UnitValue(-121,"px")//計(jì)算規(guī)則-121 = - (bgheight - partheight)/2
var ydown= new UnitValue(121,"px")//計(jì)算規(guī)則121 = (bgwidth - partwidth)/2

2》PhotoCombination.js
//photoshop處理新聞稿圖片的腳本

//設(shè)置背景文檔尺寸單位為像素
var originalUnit = preferences.rulerUnits
preferences.rulerUnits = Units.PIXELS
//定制常量
var path1 = "d:/1.jpg"
var path2 = "d:/2.png"
var path3 = "d:/3.png"
var path4 = "d:/4.jpg"
var savepath = "d:/jsj_wuchao.jpg"
var bgwidth = new UnitValue(600,"px")
var bgheight = new UnitValue(480,"px")
var partwidth = new UnitValue(298,"px")
var partheight = new UnitValue(238,"px")
var xup= new UnitValue(-151,"px")//計(jì)算規(guī)則-151= - (bgwidth - partwidth)/2
var xdown= new UnitValue(151,"px")
var yup= new UnitValue(-121,"px")//計(jì)算規(guī)則-121 = - (bgheight - partheight)/2
var ydown= new UnitValue(121,"px")
//新建背景文檔
var bg = app.documents.add(bgwidth ,bgheight)
var layerRef =bg.layerSets.add()
//打開(kāi)新文檔part1
var file1 = File(path1)
var part1 = app.open(file1)
//改變新文檔大小
part1.resizeImage( partwidth ,partheight )
part1.resizeCanvas( partwidth ,partheight )
part1.trim(TrimType.TOPLEFT, true, false, true, false)
//復(fù)制新文檔圖層
var newLayerRef =part1.activeLayer
//將part1移動(dòng)到背景文檔
var layer1 = newLayerRef.duplicate(layerRef,
ElementPlacement.PLACEATEND)
app.activeDocument=bg
layer1.translate(xup,yup)

//打開(kāi)新文檔part2
var file2 = File(path2)
var part2 = app.open(file2)
//改變新文檔大小
part2.resizeImage( partwidth ,partheight )
part2.resizeCanvas( partwidth ,partheight )
part2.trim(TrimType.TOPLEFT, true, false, true, false)
//復(fù)制新文檔圖層
newLayerRef =part2.activeLayer
//將part2移動(dòng)到背景文檔
var layer2 = newLayerRef.duplicate(layerRef,
ElementPlacement.PLACEATEND)
app.activeDocument=bg
layer2.translate(xdown,yup)

//打開(kāi)新文檔part3
var file3 = File(path3)
var part3 = app.open(file3)
//改變新文檔大小
part3.resizeImage( partwidth ,partheight )
part3.resizeCanvas( partwidth ,partheight )
part3.trim(TrimType.TOPLEFT, true, false, true, false)
//復(fù)制新文檔圖層
newLayerRef =part3.activeLayer
//將part3移動(dòng)到背景文檔
var layer3 = newLayerRef.duplicate(layerRef,
ElementPlacement.PLACEATEND)
app.activeDocument=bg
layer3.translate(xup,ydown)

//打開(kāi)新文檔part4
var file4 = File(path4)
var part4 = app.open(file4)
//改變新文檔大小
part4.resizeImage( partwidth ,partheight )
part4.resizeCanvas( partwidth ,partheight )
part4.trim(TrimType.TOPLEFT, true, false, true, false)
//復(fù)制新文檔圖層
newLayerRef =part4.activeLayer
//將part4移動(dòng)到背景文檔
var layer4 = newLayerRef.duplicate(layerRef,
ElementPlacement.PLACEATEND)
app.activeDocument=bg
layer4.translate(xdown,ydown)

//保存背景文檔
var jsj = File(savepath)
jpgSaveOptions = new JPEGSaveOptions()//保存為jpg
jpgSaveOptions.embedColorProfile = true
jpgSaveOptions.formatOptions = FormatOptions.STANDARDBASELINE
jpgSaveOptions.matte = MatteType.NONE
jpgSaveOptions.quality = 8
app.activeDocument.saveAs(jsj,jpgSaveOptions,true,Extension.LOWERCASE)//將當(dāng)前活動(dòng)文檔(也就是背景文檔bg)保存
//關(guān)閉文檔
bg.close(SaveOptions.DONOTSAVECHANGES)
part1.close(SaveOptions.DONOTSAVECHANGES)
part2.close(SaveOptions.DONOTSAVECHANGES)
part3.close(SaveOptions.DONOTSAVECHANGES)
part4.close(SaveOptions.DONOTSAVECHANGES)
app.preferences.rulerUnits = originalUnit

標(biāo)簽(TAG) 其它教程 ps教程論壇