PS如何给照片加水印日期-给照片加上时间水印+日…
2018-06-23 19:03:25来源:未知 阅读 ()
给照片加水印日期脚本代码的使用方法如下:
(1)将代码拷入记事本,选择菜单“文件-另存为”,
(2)文件名可以输入中文,如“图片加框和EXIF信息.jsx”等,保存类型选择 所有文件。
(3)将文件存到“C:\Program Files\Adobe\Photoshop CS\预置\脚本”目录中(根据实际安装位置),
(4)使用:在Photoshop CS菜单中选择:文件-〉脚本
//---
displayDialogs = DialogModes.NO;
var defaultRulerUnits = preferences.rulerUnits;
preferences.rulerUnits = Units.PIXELS;
//将一个长字串分解成单个字符串
function explodeArray(item) {
var i=0;
var Count=0;
var tempString=new String(item);
tempArray=new Array(1);
do{
i=tempString.indexOf(":");
if(i>0)
tempString=tempString.substr(i+1,tempString.length-i-1);
i=tempString.indexOf(">");
if(i>0)
{
tempArray[Count]=tempString.substr(0,i);
tempString=tempString.substr(i+1,tempString.length-i-1);
Count ++;
}
i=tempString.indexOf("<");
if(i>0)
{
tempArray[Count]=tempString.substr(0,i);
tempString=tempString.substr(i-1,tempString.length-i+1);
Count ++;
}
}while (tempString.indexOf("</x:xmpmeta>")>0);
tempArray[Count]=tempString;
return tempArray;
}
var AD = activeDocument;
var resRatio = AD.resolution/72;
if(resRatio!=1){
AD.resizeImage(AD.width.value,AD.height.value,72);
}
var heightVar = AD.height.value+2;
var photoWidth = AD.width.value;
var photoHight = AD.height.value;
//获取RAW保存的信息
var exifData = AD.xmpMetadata.rawData.toString();
//将EXIF信息分成单个的相关信息
explodeArray(exifData);
var stringTemp=""; //临时字串
var make=""; //相机公司
var model=""; //相机型号
var camera=""; //相机
var lens=""; //镜头类型
var apertureValue=""; //
var lensUsed=""; //使用的镜头
var focalLength=""; //焦距
var exposureTime=""; //快门
var fNumber=""; //光圈
var ISOSpeedRatings=""; //ISO设置
var exposureBiasValue=""; //曝光补偿
var exposureProgram=""; //曝光程序
var Fired=""; //闪光模式
var dateTimeOriginal=""; //拍摄时间
//改成你自己想写的,比如版权所有和你自己的网名等
//如果为空,将采用相机设置的名字
var creator="myngo"; //拍摄者
var i=0;
var j=0;
var k=0;
var dateArray1="";
var dateArray2="";
var monthsArray="";
var phoDate = "";
var phoTime = "";
//Photoshop CS获取EXIF信息
for(n = 0; n < tempArray.length; n ++) {
stringTemp=tempArray[n];
//快门速度
if(stringTemp.indexOf("ExposureTime")!=-1){
exposureTime = tempArray[n+1];
break;
}
}
//光圈大小
for(n = 0; n < tempArray.length; n ++) {
stringTemp=tempArray[n];
if(stringTemp.indexOf("FNumber")!=-1){
fNumber = tempArray[n+1];
break;
}
}
//拍摄日期、时间
for(n = 0; n < tempArray.length; n ++) {
stringTemp=tempArray[n];
if(stringTemp.indexOf("DateTimeOriginal")!=-1){
dateTimeOriginal = tempArray[n+1];
break;
}
}
//使用焦距
for(n = 0; n < tempArray.length; n ++) {
stringTemp=tempArray[n];
if(tempArray[n]=="FocalLength"){
focalLength = tempArray[n+1];
break;
}
}
//ISO设置
for(n = 0; n < tempArray.length; n ++) {
stringTemp=tempArray[n];
if(stringTemp.indexOf("ISOSpeedRatings")!=-1){
ISOSpeedRatings = "ISO"+tempArray[n+5];
break;
}
}
//曝光补偿
for(n = 0; n < tempArray.length; n ++) {
stringTemp=tempArray[n];
if(stringTemp.indexOf("ExposureBiasValue")!=-1){
exposureBiasValue = tempArray[n+1];
break;
}
}
//曝光程序
for(n = 0; n < tempArray.length; n ++) {
stringTemp=tempArray[n];
if(stringTemp.indexOf("ExposureProgram")!=-1){
exposureProgram = tempArray[n+1];
break;
}
}
//闪光模式
for(n = 0; n < tempArray.length; n ++) {
stringTemp=tempArray[n];
if(stringTemp.indexOf("Fired")!=-1){
Fired = tempArray[n+1];
break;
}
}
//使用镜头类型
for(n = 0; n < tempArray.length; n ++) {
stringTemp=tempArray[n];
if(tempArray[n]=="Lens"){
lens=tempArray[n+1];
break;
}
}
//相机厂商
for(n = 0; n < tempArray.length; n ++) {
stringTemp=tempArray[n];
if(stringTemp.indexOf("Make")!=-1){
make = tempArray[n+1];
break;
}
}
//相机型号
for(n = 0; n < tempArray.length; n ++) {
stringTemp=tempArray[n];
if(stringTemp.indexOf("Model")!=-1){
var model = tempArray[n+1];
break;
}
}
//对于有的相机型号不包括制造商部分
//camera = make+model;
//对于有的相机型号包括制造商部分
camera = model;
//相机所有者
for(n = 0; n < tempArray.length; n ++) {
stringTemp=tempArray[n];
if(stringTemp.indexOf("creator")!=-1 && creator==""){
creator = tempArray[n+5];
break;
}
}
//检查快门速度(全部保留到小数点后一位)
dateArray1 = exposureTime.split("/");
i = dateArray1[0];
j = dateArray1[1];
if(i/j>=1)
exposureTime=parseInt(i/j)+"."+(i-parseInt(i/j)*j);
else{
j=parseInt(j/i);
i=1;
exposureTime=i+"/"+j;
}
//检查光圈大小
dateArray1 = fNumber.split("/");
i = dateArray1[0];
j = dateArray1[1];
if(j>1)
fNumber=i/j;
else
fNumber=i;
//检查焦距
dateArray1 = focalLength.split("/");
i = dateArray1[0];
j = dateArray1[1];
if(j>1)
focalLength=parseInt(i/j);
else
focalLength=i;
//检查曝光补偿
dateArray1 = exposureBiasValue.split("/");
i = dateArray1[0];
j = dateArray1[1];
if(i>0)
exposureBiasValue="+"+(parseInt(i*10/j))/10;
else
exposureBiasValue=(parseInt(i*10/j))/10;
//检查曝光程序
//程序顺序根据相机差异调整
dateArray1= exposureProgram;
dateArray2 = ["Manual",
"Program",
"Aperture",
"Shutter",
"A-DEP"];
exposureProgram = dateArray2[dateArray1-1];
//检查闪光模式
dateArray1 = Fired;
if(dateArray1.indexOf("True")!=-1)
Fired="FlashOn";
else
Fired="FlashOff";
//改变日期格式
dateArray1 = dateTimeOriginal.split("T");
phoDate = dateArray1[0];
phoTime = dateArray1[1];
//日期转换为英文格式(如Jun 22 2005),喜欢可以把注释符号"//"去掉
//dateArray2 = phoDate.split("-");
//monthsArray =["Jan",
//"Feb",
//"Mar",
//"Apr",
//"May",
//"Jun",
//"Jul",
//"Aug",
//"Sep",
//"Oct",
//"Nov",
//"Dec"];
//phoDate = monthsArray[dateArray2[1]-1]+" "+dateArray2[2]+" "+dateArray2[0];
dateArray2 = phoTime.split("+");
phoTime = dateArray2[0];
//你有什么镜头,就根据镜头和最大焦距改吧
if(lens != "")
{
if(lens.indexOf("28.0-70.0 mm")!=-1){
lensUsed = "EF 28-70mm f/2.8L USM";
}
if(lens.indexOf("70.0-200.0 mm")!=-1){
lensUsed = "EF 70-200mm f/2.8L USM";
}
//if(lens.indexOf("85 mm")!=-1){
//lensUsed = "Canon 85mm F1.8 USM";
//}
//if(lens.indexOf("100.0 mm")!=-1){
//lensUsed = "Canon Macro 100mm F2.8 USM";
//}
}
else
{
//如果没有镜头信息,就使用原来的办法比较
var focLength=parseInt(focalLength);
if(focLength>=28 && focLength<=70){
lensUsed = "EF 28-70mm f/2.8L USM";
}
if(focLength>70 && focLength<=200){
lensUsed = "EF 70-200mm f/2.8L USM";
}
//if(focLength=="85"){
//lensUsed = "Canon 85mm F1.8 USM";
//}
//if(focLength=="100"){
//lensUsed = "Canon Macro 100mm F2.8 USM";
//}
}
//画线和框
//定义黑色,你也可以定义其他颜色哟
var black = new SolidColor();
black.rgb.red = black.rgb.green = black.rgb.blue = 51;
var white = new SolidColor();
white.rgb.red = white.rgb.green = white.rgb.blue = 255;
var grey = new SolidColor();
grey.rgb.red = grey.rgb.green = grey.rgb.blue = 153;
var red = new SolidColor();
red.rgb.red = 255; red.rgb.green = 0; red.rgb.blue = 0;
var yellow = new SolidColor();
yellow.rgb.red = 255; yellow.rgb.green = 153; yellow.rgb.blue = 0;
var blue = new SolidColor();
blue.rgb.red = 0; blue.rgb.green = 0; blue.rgb.blue = 255;
//加入一条白线,你可以将白线宽窄设为2或4,两边,实际宽度除以2
backgroundColor = white;
//如果改为黑线
//backgroundColor = black;
AD.resizeCanvas(AD.width.value+2,AD.height.value+2,
AnchorPosition.MIDDLECENTER);
//加入黑框,这里将黑框宽窄设为图片宽窄的1/10,两边,实际宽度再除以2
backgroundColor = black;
//如果改为白框
//backgroundColor = white;
//边框宽度和高度
var fWidth = parseInt(photoWidth/60);
var fHight = parseInt(photoHight/40);
//字体左边距和下边距
var tLeft = parseInt(fWidth/2+10);
var tHight = parseInt(fHight/2);
//字号
var tSize = parseInt(fWidth/2);
AD.resizeCanvas(AD.width.value+fWidth,AD.height.value+fHight, AnchorPosition.MIDDLECENTER);
//底部再加宽点,便于写字,这里将下边的边框加倍
AD.resizeCanvas(AD.width.value,AD.height.value+fHight+tHight,AnchorPosition.TOPCENTER);
AD.resizeCanvas(AD.width.value,AD.height.value+fHight+tHight,AnchorPosition.TOPCENTER);
AD.resizeCanvas(AD.width.value,AD.height.value+fHight+tHight,AnchorPosition.TOPCENTER);
//标字和参数
var nameLayer = AD.artLayers.add();
nameLayer.kind = LayerKind.TEXT;
var TI = nameLayer.textItem;
//右对齐
TI.justification = Justification.RIGHT;
//标字的位置
TI.position = [AD.width.value-tLeft,heightVar-tHight];
//标字的位置1
//TI.position = [AD.width.value-tLeft,heightVar+tHight];
//TI.contents = "By "+creator;
//字体、字号、颜色和加粗等
TI.font = "Angel";
//TI.font = "宋体";
TI.size = tSize+16;
TI.color = red;
//如果为白框,字体为黑色
//TI.color = black;
TI.fauxBold = true;
var infoLayer = AD.artLayers.add();
infoLayer.kind = LayerKind.TEXT;
var TI = infoLayer.textItem;
//右对齐,如果左对齐可以省略下面这行
TI.justification = Justification.RIGHT;
//标字的位置
TI.position = [AD.width.value-tLeft,heightVar+tHight+tHight+tHight+tHight+tHight];
//显示:相机型号,镜头,焦距,曝光时间,光圈,ISO设置,拍摄日期等
TI.contents = camera+" with "+lensUsed+" @ "+focalLength+"mm "+exposureProgram+" "+exposureTime+"s f/"+fNumber+" "+exposureBiasValue+"EV "+ISOSpeedRatings+" "+Fired+"\u000D Time: "+phoDate+" "+phoTime;
//TI.contents = k+" "+model;
//字体、字号、颜色等
TI.font = "Tahoma";
TI.size = tSize+6;
TI.color = white;
//如果为白框,字体为黑色
//TI.color = black;
AD.flatten();
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 学习用photoshop把浑浊的海水照片后期调出清澈的蓝色效果。 2021-05-24
- PS古风照片教程:给古风美女打造出女侠电影质感效果。PS古风 2021-05-24
- Photoshop调出海边美女照片蓝色艺术效果 2021-05-24
- PS重曝照片:利用溶图技术给人物制作出城市与美景交相辉映的 2021-05-23
- Photoshop打造蓝色唯美风格的海边美女婚纱照片。Photoshop打 2021-05-21
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash