網路會員
|
>按相片檔案的產生日期時間自動加印﹖ 你的相館沒提供此服務嗎? 有的相館有,跟老版問一下
>很難看,想用較美觀的字體 用photoshop如何,絕對符合你"美觀"的要求 問題是要自動存取EXIF內的拍照日期資料才是真正的日期 檔案日期會因為修改而變化 因此需動用到photoshop script 單用Action似乎無法存取EXIF內的拍照日期資料
做法很複雜,不過既然"美觀"是你的要求,那也沒辦法 不然photocap也不錯用,只是不"美觀"
一、先錄您要做字型變化的action action set命名為script,action命名為typestyle 以上兩個名稱,程式已寫死, 要不改程式,不然就用"script"&"typestyle"取名 此action會被ps script呼叫使用 看你要"美觀"到甚麼程度 全在這裏錄制 最簡單的加入一個style,裏面甚麼光暈字,陰影字,浮凸字,....應有盡有
二、用notepad打入下列java script後,存檔aaa.js 離開 此程式用於ps cs內,用於canon,nikon,sony,olympus,fuji等dc所產生的jpeg檔都沒問題 其他ps版本或其它品牌dc可否使用,未知!!
app.displayDialogs = DialogModes.NO; var strtRulerUnits = app.preferences.rulerUnits; app.preferences.rulerUnits = Units.PIXELS; var strtTypeUnits = app.preferences.typeUnits; app.preferences.typeUnits = TypeUnits.POINTS; var docRef = app.activeDocument; var InfoRef = docRef.info; var dcExif = InfoRef.exif;
var i; for (i = 0 ;i < 20;++i) { var TagExif = dcExif[i]; if (TagExif[0] == "Date Time Original") var StringTime = TagExif[1]; }
var dateEnd = StringTime.lastIndexOf(" "); TagExif = StringTime.substring(dateEnd+1,dateEnd+9); StringTime = StringTime.substring(0,dateEnd+6);
var pixelHeight = docRef.height; var pixelWidth = docRef.width; docRef.resizeImage(pixelWidth,pixelHeight,72.0); if(pixelWidth > pixelHeight) { //橫幅影像用 //wordTypeSize表示字體大小所佔劃面比例 //startXposition,startYposition字體位置 //不滿意自行修改 var wordTypeSize = pixelHeight / 20; var startXposition = pixelWidth * .65; var startYposition = pixelHeight * .90; } else { //直幅影像用 var wordTypeSize = pixelWidth / 20; var startXposition = pixelWidth * .50; var startYposition = pixelHeight * .95; } var textColor = new SolidColor; textColor.rgb.red = 255; textColor.rgb.green = 0; textColor.rgb.blue = 0; var artLayerRef = docRef.artLayers.add(); artLayerRef.kind = LayerKind.TEXT; var textItemRef = artLayerRef.textItem; textItemRef.contents = StringTime; textItemRef.position = Array(startXposition, startYposition); textItemRef.size = wordTypeSize; //textItemRef.font 字型,不滿意自行修改 textItemRef.font = "Arial" textItemRef.color = textColor; //呼叫字型變化的action doAction("typestyle","script"); app.preferences.rulerUnits = strtRulerUnits; app.preferences.typeUnits = strtTypeUnits; docRef = null; textColor = null; newTextLayer = null;
三、錄制供使用ps automate功能使用的action action set,action命名隨便,例如set1,action1 錄製下列動作 open 相片檔 -> 執行 File\Scripts\browse...\選aaa.js -> Save(as)相片檔 -> close
四、使用ps內定的automate batch功能達成自動處理子目錄下所有相片 執行 File\Automate\Batch... set 選set1,action 選action1 souce選Folder,並用choise選取你存放的相片子目錄(input),接著四個小項目全勾選 destination選Folder,並用choise選取你存放的相片子目錄(ouput),接著一個小項目勾選 File Nameing隨便 按下ok鈕,ps會完成你交付的任務
//////////////////////////// 以上方式,步驟有點複雜,保證不快, 但可以使用script,typestyle的action 控制"美觀"程度 如果你要快,換一家有提供打日期服務的洗相館最快(不加價) 連電腦開機都不用,根老闆要求一下就好了 事實上,小弟都是這麼做的 動嘴巴比動手快很多 只有一次例外 那一次老闆出國玩,請了三個工讀生顧店 除了年輕略有姿色,其他甚麼都不會 沒辦法只有自己打日期
這script很少用,但還需留著用 因為不知老闆何時還要出國 |