拍了点儿荷花

  • 靓老虎
    往年都没拍成,今年可算拍了一点儿。
  • 靓老虎
    天气还好,不算太热,太阳也不猛。
  • 靓老虎
    好像时间还稍微早了一点儿?
  • 靓老虎
    几乎都是花骨朵。
  • 靓老虎
    太阳出来了,收工回家了。
  • 靓老虎
    貌似坛子上还有好些爱好者的,现在没摄影板了,都改去哪儿混了?

    [本帖最后由 靓老虎 于 2006-7-20 21:16 编辑]
  • E
    EC
    来瞻仰一下
  • E
    EC
    真的好看!
    老虎加水印和显示EXIF的软件能否介绍一下?
  • 淡淡的蓝
    哈哈,摄影版合并在意欲蔓延里面啦~

    不过,也欢迎发到吃喝玩乐版,摄影嘛,也是玩乐的一种哈~
  • 靓老虎
    没有用专用软件,就是PS CS,不过写了一个脚本文件加载在“动作”里了。该脚本文件的基础是无忌上的高人写的,适用于CS/CS2,偶后来把模式、曝光补偿、闪光灯等信息都加上了,并修正了光圈、快门速度、ISO三项数值里的错误。

    至于加框、签名等,都是可以自己调整的,其实只要稍微懂一点儿仔细看看就明白了。

    将以下内容用记事本存为.js文件,放到CS/CS2目录下“预置/脚本”文件夹下即可。

    //---

    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="TigerDigi"; //拍摄者

    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>200){
    lensUsed = "EF 70-200/2.8L + EF 2X";
    }
    //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 = "Photo 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"+phoDate+" "+phoTime;

    //TI.contents = k+" "+model;

    //字体、字号、颜色等
    TI.font = "Tahoma";
    TI.size = tSize+6;
    TI.color = white;

    //如果为白框,字体为黑色
    //TI.color = black;

    AD.flatten();


    //怎么样,自己会玩了吧?祝你好运!
    //---
  • M
    Mad_Eminem
    有几张用了增距啊,200mm变成了400mm当然景深浅了啊。
    那天看来光线条件不错啊老虎兄
  • t
    twoday2182
    很粗陋地跟一个。。。。


    忘了谁拍了。。。。
  • E
    EC
    这么厉害,谢谢了!啥时候来大连我请你吃饭!