萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 軟體知識 >  >> 影像處理 >> Photoshop 教學 >> Photoshop 影像處理

Photoshop 腳本 (JSX) 入門實戰:自動化調色、邊框陰影與隨機旋轉

「優秀的設計師不是沉迷幻想,而是將幻想化為現實的人——而腳本,就是你的魔法棒。」本教程改編自 Ross Aitken(psdlearning.com)經典教學,帶你從零開始掌握 Photoshop JavaScript (JSX) 腳本開發,實現批量調色、自動添加邊框陰影、隨機旋轉生成藝術效果三大核心功能,打開自動化工作流與生成式設計的大門。

為什麼要學 Photoshop 腳本?

  • 超越「動作」面板: 腳本支援邏輯判斷、循環、變數、數學運算,能完成動作面板無法實現的複雜流程控制。
  • 跨平台通用: PS 支援 VBScript、AppleScript、JavaScript 三種語言,唯有 JavaScript 跨平台(Win/Mac),且通用性最強。
  • 零基礎友好: 本教程逐行註解,無程式基礎也能看懂,並附贈完整 JSX 源碼與官方 API 文檔鏈接。

開發環境準備

  1. 編輯器推薦: 內建 ExtendScript Toolkit (ESTK)(PS 安裝目錄下),支援斷點調試、語法高亮、直接運行。若找不到,開始功能表搜尋「ExtendScript」或下載 VS Code 安裝 Adobe ExtendScript Debug 擴充套件。
  2. 驗證環境: 新建文本文件輸入 alert("Hello World"); 存為 test.jsx,PS 中 檔案 → 腳本 → 瀏覽 運行,或 ESTK 點擊播放鍵。彈出對話框即成功。
  3. 基礎偏好設定(每支腳本開頭建議加入):
    preferences.rulerUnits = Units.PIXELS; // 統一單位為像素
    app.displayDialogs = DialogModes.NO;   // 禁止彈窗干擾自動化流程
    

核心案例:批量藝術化處理流程

腳本將對用戶選擇的圖片依序執行:

  1. 開啟檔案對話框:open(File(openDialog())); 獲取 activeDocument 參考。
  2. 複製背景圖層 作為調色基礎。
  3. 平均模糊取平均色:對複製圖層執行濾鏡 → 模糊 → 平均,獲得單一像素代表整圖平均色。
  4. 直方圖分析 RGB 比例:讀取平均色圖層的 RGB 通道直方圖數據,計算各通道佔比。
  5. 依比例調色:用計算出的顏色填充圖層,反相 (Ctrl+I) 後設混合模式為顏色,降低不透明度(如 20%),形成影樓級柔和調色。
  6. 畫布擴展 + 高斯模糊:docRef.resizeCanvas() 擴大畫布建立邊框空間,新建圖層填充黑色,濾鏡 → 模糊 → 高斯模糊 做陰影,移動位置模擬立體感。
  7. 隨機旋轉:Math.random() * angleRange - angleRange/2 生成隨機角度,配合自由變換命令旋轉圖層,批量生成獨特構圖。

關鍵代碼片段解析

1. 開啟檔案與複製圖層

var fileRef = File(openDialog("選擇圖片"));
if (fileRef) {
    var docRef = open(fileRef);
    var bgLayer = docRef.backgroundLayer;
    var dupLayer = bgLayer.duplicate(); // 複製背景層
}

2. 平均模糊與直方圖讀取

// 執行平均模糊 (菜單命令 ID)
dupLayer.applyAverage();
// 獲取直方圖 (256 值陣列)
var hist = dupLayer.histogram; // [R0...R255, G0...G255, B0...B255]
// 計算各通道加權平均值...

3. 隨機旋轉變換

var angle = (Math.random() - 0.5) * 30; // -15° 到 +15°
var desc = new ActionDescriptor();
desc.putUnitDouble(charIDToTypeID("Angl"), charIDToTypeID("#Ang"), angle);
executeAction(charIDToTypeID("Trnf"), desc, DialogModes.NO);

資源下載與進階學習

效果展示

腳本批量處理後的藝術化效果:統一色調、邊框陰影、隨機旋轉構圖

下一步學習路徑

  1. 研讀官方 Photoshop JavaScript Reference,掌握 DOM 物件模型(Application → Document → Layer → Channel...)。
  2. 嘗試編寫「批量重命名圖層」、「根據檔名自動存檔」、「生成參數化圖案」等實用小工具。
  3. 探索 ScriptUI 建立圖形介面,將腳本封裝為面板插件發佈。
「技術是魔法棒,腳本讓你揮動它自動施法。從今天開始,把重複勞動交給代碼,專注創意本身。」
copyright © 萬盛學電腦網 all rights reserved