首頁 > web前端 > PS教程 > Photoshop第三方濾鏡外掛程式開發的簡介

Photoshop第三方濾鏡外掛程式開發的簡介

高洛峰
發布: 2017-02-20 09:02:07
原創
3261 人瀏覽過

       Photoshop是數位影像處理領域內的傑出軟體。同時,它也允許第三方以插件(Plugin) 的形式擴展其功能。 Photoshop的插件目前總共可分為以下九種:自動化(批次)(出現在'自動'子選單下),顏色拾取,導入,導出(出現在'導入''導出'子選單下),擴展,濾鏡,檔案格式(出現在打開,儲存為),解析(與匯出匯出功能),選取(出現在'選擇'選單下)。這裡我們以最為使用者熟悉的濾鏡為例講解。
(一)插件的通用部分介紹:
        呼叫插件的主程式我們成為宿主,在大多數情況下就是Photoshop(以下簡稱PS),一個插件實際上在windows系統下是一個動態連結庫(只是具有不同擴展名)。 PS使用LoadLibray載入外掛模組。當使用者採取對應操作時,將引起一系列ps對插件模組的呼叫。所有的這些呼叫都是呼叫同一個入口點。這個入口點是這樣一個函數,定義如下:(由於PS採取對windows和蘋果機相容,這裡我們只給出在windows系統上的定義)

void ENTRYPOINT (
       long* pluginData,
         short* result);


selector:
      作業類型指示符。當seletor=0時,它對所有類型的插件具有相同的意義,即要求顯示一個關於對話框。其他值,則根據插件類型而意義有所不同。

pluginParamBlock:
      這是一個指向一個很大結構的指針,這個結構用於在宿主和插件之間傳遞訊息和資料。對於不同類型插件,它具有不同結構。

pluginData:
       一個指向int32型式的指標。它是PS為插件在多次呼叫期間保存的值。它的一個標準用法是插件可把一些全域資料的指針交給該參數保存,

result:
       一個指向int16的指針,每次插件被調用它必須設定result。返回0表示插件程式碼中沒有發生錯誤。當發生錯誤時,這個值回傳一個錯誤碼。有關錯誤碼,ps為不同類型的插件分別劃分了錯誤碼的範圍,並在SDK中預先定義了一些值。

關於對話框:
所有插件應該響應about調用。插件可以顯示一個自訂的對話框。但是為了保持一致性,應該遵守下面的約定:
(1)顯示在主螢幕的水平居中,垂直1/3高度處。
(2)不需要包含一個OK按鈕,而是響應在任意位置的點擊以及回車鍵。

(二)濾鏡插件的介紹
濾鏡插件的作用是,針對影像的選擇區域做出修改。濾鏡行為從調節飽和度,亮度,到對影像的濾波等等。濾鏡在windows下的副檔名是「.8BF」。
下圖顯示了PS和濾鏡插件之間的呼叫序列,非常重要,這是在SDK文件中的一個圖片,對每一個類型的插件都有這樣一幅圖,這裡顯示的是濾鏡插件的調用序列。
              

Photoshop第三方濾鏡外掛程式開發的簡介濾鏡可使用濾鏡選單進行調用,也就是最上方的呼叫起始點。在呼叫一次以後,Photoshop將把最近一次濾鏡操作放到濾鏡選單的「最近一次濾鏡」子選單上,以後點擊該選單則對應上圖中的「最近一次濾鏡指令」。下面我們將簡要介紹上圖流程。首先我們來看一個濾鏡的入口點函數的「模板」:

外掛入口點:PlugInMain

sum事先處理每個通道for
(k
=0;k
g_P
//blur it!     sum+=bufferPixels[(j-
1
) i
-1)
* g_Planes +k];    sum+=bufferPixels[(j+=bufferPixels[(j +(i)* g_Planes +k]*2
;
    sum+ )*rowBytes+ (i+1)*g_Planes +** rowBytes+
(i
-1)*g_Planes +k]*sum+=bufferPixels[j*rowBytes+i* 4;    總和 += ] *2
;
sum+=bufferPixels[(j+1)* 1) * g_飛機 +k];    總和+=bufferPixels[(j*
+(i)* g_飛機+ k]*2;    sum+ )*rowBytes +(我+
1
)*g_飛機 +k]; >>>>4; //即除以16     像素[j*rowBytes +
k]
= 總和;}


(五)結束語:
      最後,讓我們看一下濾鏡使用中的效果截圖:在PS啟動時,它將掃描各插件目錄下的插件,並加載到相應菜單。
      Photoshop第三方濾鏡外掛程式開發的簡介
       處理結果:
        Photoshop第三方濾鏡外掛程式開發的簡介
           安裝方式是,將檔案解壓縮,放入Photoshop的濾鏡安裝目錄即可,例如Photoshop CS ,它的濾鏡安裝目錄可能形如:
       “
C:Program FilesAdobePhotoshop CS增效工具濾鏡”
       有關PS SDK,可以從Adobe官方取得,目前是否是免費的我不清楚了。 。 。 。 。

(六)參考資料:
(1)Photoshop SDK 6.0。
(2)Photoshop SDK CS。
(3)(雨滴濾鏡的演算法)Filter: Raindrops :
//m.sbmmt.com/

-------------------- -------------------------------------------------- ------
 附錄:Adobe SDK的聲明!
------------------------------------------------- ---------------------------

// ADOBE SYSTEMS INCORPORATED
// Copyright  1993 - 2002 Adob​​​​e Systems Incorporated// All Rights Reserved
//
// ADOBE系統公司
// 版權所有1993 - 2002 Adob​​​​e公司
// 保留所有權利。
//
// NOTICE:  Adob​​​​e permits you to use, modify, and distribute this
// file in accordance with the terms of the Adob​​​​e license agreement
// companying it. / other than Adob​​​​e, then your use, modification, or distribution
// of it requires the prior written permission of Adob​​​​e.
//
// 注意:Adobe允許你在遵守相應許可協議條款的條件下,使用,Adobe許可條款的條件下,使用,修改,和分發這個文件。
// 如果你從非Adobe方取得該文件,則你使用,修改和分發需要先前簽署的Adobe授權協議。
//----------------------------------------------- --------------------------------


更多對Photoshop第三方濾鏡插件開發的簡介相關文章請關注PHP中文網!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板