畫布-gif
npm i canvas-gif
什麼是canvas-gif?
canvas-gif 是一個 NPM 函式庫,可讓您使用 node-canvas 操作 GIF 的訊框。
canvas-gif 已被棄用。我很少使用 Node.js,更不用說我會用到這樣的套件了。如果您有興趣接管開發,請隨意分叉並自行發布。然而,我在這個圖書館的時間已經停止了。
它是如何運作的?
其工作原理如下:
- 將輸入 GIF 作為緩衝區讀取(可選:如果已啟用該選項且 Graphicsmagick 可用,則合併 GIF)
- 將 GIF 解碼為 UInt8Array(s)
- 為 GIF 中的每一幀建立一個畫布實例
- 將 UInt8Array 轉換為畫布圖像資料並將其放入上下文中
- 將上下文和其他相關資訊傳遞給使用者定義的 editFrame 函數,該函數將繼續操作上下文。
- 將新編輯的幀的上下文新增至編碼器
- 將編碼器的資料作為Buffer輸出並返回
我該如何利用它?
您可以透過運行使用 npm 下載它
然後您可以繼續在程式碼中使用它。有關如何執行此操作的範例,請查看範例資料夾。
選項
所有這些選項都是可選的!哇
- coalesce - GIF 在引擎處理之前是否應該由 GraphicsMagick 合併。需要安裝 GraphicsMagick - 如果沒有安裝且該選項為 true,則會拋出錯誤,並且程式碼將繼續使用原始檔案緩衝區。預設為false
- 延遲- 每幀之間的延遲量(以毫秒為單位)。預設為0
- 重複- GIF 應重複多少次。如果值為 0,則將永遠重複。預設為0
- 演算法- 編碼器應使用的演算法。可以是neuquant和octree之一。預設為neuquant
- optimiser - 編碼器是否應使用其內建優化器。預設為false
- fps - 每秒渲染的幀數。預設為60
- 質- GIF 的品質。 1-100 之間的值。數字越高,GIF 的品質就越好。預設為100
常見錯誤
合併期間出現錯誤:流產生空緩衝區。將緩衝區恢復為檔案緩衝區!
如果啟用了合併選項但缺少 GraphicsMagick,則會發生此錯誤。請從這裡安裝它,如果錯誤仍然存在,請隨時將其報告為問題,我會盡力提供協助!
該項目使用固執己見的酷兒許可證 v1.1 - tl;dr 請參閱此處:]
待辦事項