优艾设计网

用Photoshop脚本自动合成新闻稿四格图片

优艾设计网 https://www.uibq.com 2020-09-14 00:00 出处:网络 作者:ps教程论坛
1》ReadMe.txt 包含文件: 1)ReadMe.txt 2)PhotoCombination.js,若后缀不是.js,请直接改成.js后缀。

1》ReadMe.txt

包含文件:

1)ReadMe.txt

2)PhotoCombination.js,若后缀不是.js,请直接改成.js后缀。

功能介绍:

由于宣传工作的需要,经常需要把4幅图片合成1幅图片,就是类似以前的四格漫画形式。由于每次的合成操作都是重复的,因此在PS中运行该脚本可以自动完成合成过程。

图解功能:

素材:4幅图片,存放在d盘根目录下,命名规则为:1.jpg,2.jpg,3.jpg,4.jpg。

合成效果:合成后图片名称默认为jsj_wuchao.jpg,存放在d盘根目录下。

合成规则: +------+------+ ,合成图片中各部分间隔均为4个像素。

|1.jpg | 2.jpg|

+------+------+

|3.jpg | 4.jpg|

+------+------+

要求:

1)photoshop版本要求:ps cs2及以上版本,少数极精简版本不适用。

2)操作系统要求:windows平台。

3)图片格式限制:合成后的图片只能保存为jpg格式,被合成的图片格式为常见的jpg、png、bmp、gif。

4)图片大小无限制。

使用方式:

1)将选好的4幅图片,按照合成规则命名后存放在d盘根目录下。

2)打开ps软件,[文件]->[脚本]->[浏览]->[选中.js文件]->[载入],当所有打开的窗口完全关闭时可以退出ps软件,运行结果默认存放在d盘根目录下的jsj_wuchao.jpg文件。

高级用法:(修改newsphoto_process.js文件)

1)改变默认文件存放路径。

a)例如:var path1 = "d:/1.jpg" ,代表素材图片1.jpg的存放路径。

b)例如:var savepath = "d:/jsj_wuchao.jpg" ,代表合成后图片jsj_wuchao.jpg存放路径。

2)改变默认尺寸。

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个变量给定,则合成图片中各部分间隔也确定(600-(298*2)=4)。

b)若a)改变,则相应必须改变b)。

var xup= new UnitValue(-151,"px")//计算规则-151 = - (bgwidth - partwidth)/2

var xdown= new UnitValue(151,"px")//计算规则151 = (bgwidth - partwidth)/2

var yup= new UnitValue(-121,"px")//计算规则-121 = - (bgheight - partheight)/2

var ydown= new UnitValue(121,"px")//计算规则121 = (bgwidth - partwidth)/2

2》PhotoCombination.js

//photoshop处理新闻稿图片的脚本

//设置背景文档尺寸单位为像素

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")//计算规则-151= - (bgwidth - partwidth)/2

var xdown= new UnitValue(151,"px")

var yup= new UnitValue(-121,"px")//计算规则-121 = - (bgheight - partheight)/2

var ydown= new UnitValue(121,"px")

//新建背景文档

var bg = app.documents.add(bgwidth ,bgheight)

var layerRef =bg.layerSets.add()

//打开新文档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)

//复制新文档图层

var newLayerRef =part1.activeLayer

//将part1移动到背景文档

var layer1 = newLayerRef.duplicate(layerRef,

ElementPlacement.PLACEATEND)

app.activeDocument=bg

layer1.translate(xup,yup)

//打开新文档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)

//复制新文档图层

newLayerRef =part2.activeLayer

//将part2移动到背景文档

var layer2 = newLayerRef.duplicate(layerRef,

ElementPlacement.PLACEATEND)

app.activeDocument=bg

layer2.translate(xdown,yup)

//打开新文档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)

//复制新文档图层

newLayerRef =part3.activeLayer

//将part3移动到背景文档

var layer3 = newLayerRef.duplicate(layerRef,

ElementPlacement.PLACEATEND)

app.activeDocument=bg

layer3.translate(xup,ydown)

//打开新文档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)

//复制新文档图层

newLayerRef =part4.activeLayer

//将part4移动到背景文档

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)//将当前活动文档(也就是背景文档bg)保存

//关闭文档

bg.close(SaveOptions.DONOTSAVECHANGES)

part1.close(SaveOptions.DONOTSAVECHANGES)

part2.close(SaveOptions.DONOTSAVECHANGES)

part3.close(SaveOptions.DONOTSAVECHANGES)

part4.close(SaveOptions.DONOTSAVECHANGES)

app.preferences.rulerUnits = originalUnit

0

精彩评论

暂无评论...
验证码 换一张
取 消