2024年5月28日发(作者:)

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

一、 脚本程序使用手册

包含文件:

1)

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

功能介绍:

由于宣传工作的需要,经常需要把4幅图片合成1幅图片,就是类似以前的四格漫画形

式。由于每次的合成操作都是重复的,因此在PS中运行该脚本可以自动完成合成过程。

图解功能:

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

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

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

| | |

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

| | |

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

要求:

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

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

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

bmp、gif。

4)图片大小无限制。

使用方式:

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

2)打开ps软件,[文件]->[脚本]->[浏览]->[选中.js文件]->[载入],当所有打开的窗口完全关闭

时可以退出ps软件,运行结果默认存放在d盘根目录下的jsj_文件。

高级用法:(修改newsphoto_文件)

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

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

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

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

二、脚本程序源代码

//脚本源代码,使用时改成

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

var originalUnit = nits

nits =

//定制常量

var path1 = "d:/"

var path2 = "d:/"

var path3 = "d:/"

var path4 = "d:/"

var savepath = "d:/jsj_"

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 = (bgwidth ,bgheight)

var layerRef =()

//打开新文档part1

var file1 = File(path1)

var part1 = (file1)

//改变新文档大小

Image( partwidth ,partheight )

Canvas( partwidth ,partheight )

(T, true, false, true, false)

//复制新文档图层

var newLayerRef =Layer

//将part1移动到背景文档

var layer1 = ate(layerRef,

TEND)

Document=bg

ate(xup,yup)

//打开新文档part2

var file2 = File(path2)

var part2 = (file2)

//改变新文档大小

Image( partwidth ,partheight )

Canvas( partwidth ,partheight )

(T, true, false, true, false)

//复制新文档图层

newLayerRef =Layer

//将part2移动到背景文档

var layer2 = ate(layerRef,

TEND)

Document=bg

ate(xdown,yup)

//打开新文档part3

var file3 = File(path3)

var part3 = (file3)

//改变新文档大小

Image( partwidth ,partheight )

Canvas( partwidth ,partheight )

(T, true, false, true, false)

//复制新文档图层

newLayerRef =Layer

//将part3移动到背景文档

var layer3 = ate(layerRef,

TEND)

Document=bg

ate(xup,ydown)

//打开新文档part4

var file4 = File(path4)

var part4 = (file4)

//改变新文档大小

Image( partwidth ,partheight )

Canvas( partwidth ,partheight )

(T, true, false, true, false)

//复制新文档图层

newLayerRef =Layer

//将part4移动到背景文档

var layer4 = ate(layerRef,

TEND)

Document=bg

ate(xdown,ydown)

//保存背景文档

var jsj = File(savepath)

jpgSaveOptions = new JPEGSaveOptions()//保存为jpg

olorProfile = true

Options = RDBASELINE

=

y = 8

(jsj,jpgSaveOptions,true,ASE)//将当前活动文档

(也就是背景文档bg)保存

//关闭文档

(AVECHANGES)

(AVECHANGES)

(AVECHANGES)

(AVECHANGES)

(AVECHANGES)

nits = originalUnit