iT邦幫忙

鐵人檔案

2024 iThome 鐵人賽
回列表
Modern Web

一起來玩圖像編輯器:Fabric.js 的實戰修煉 系列

Fabric.js 是一個 JavaScript 圖形處理庫,建立於 HTML5 Canvas之上,專門用於在網頁上創建和操作圖像和圖形。
它提供了簡單直觀的 API,使得在 Canvas 上的互動行為不會讓你寫到抓狂。從簡單的繪圖應用,到可滑鼠互動的動畫、複雜的圖像編輯器,Fabric.js 都能滿足你的需求。

因工作需求而開始研究這個有趣的東西,在記憶退卻前快來記錄一下(╯✧∇✧)╯

鐵人鍊成 | 共 30 篇文章 | 7 人訂閱 訂閱系列文 RSS系列文
DAY 11

Day11-fabricjs 的花式圖片上傳、濾鏡使用

fabricjs 可以怎麼操作圖片 可以創建和操作圖片對象 (fabric.Image),支持輸入輸出多種圖片格式(如 PNG、JPEG 等)。 圖片上傳:...

2024-08-14 ‧ 由 merano5342 分享
DAY 12

Day12- fabric.js canvas下載圖片不難,麻煩的東西是CORS!

fabric.js 下載圖片的方式 使用 canvas.toDataURL 再加上一些設置參數 <button id="download&quo...

2024-08-15 ‧ 由 merano5342 分享
DAY 13

Day13- fabric.js 的圖層與群組管理

今天主要來介紹 Fabric.js 的 群組(group) 跟 圖層(layer) 群組 (group) 可以做什麼: 1. 創建群組 使用 fabric.Gr...

2024-08-16 ‧ 由 merano5342 分享
DAY 14

Day14-畫布背景處理:設置和操作畫布背景(前景圖背景圖)

一句話介紹 ⇒ 不會跟canvas 上的物件互動,但會被渲染在輸出圖片裡 Canvas 的圖面渲染,其實可以分為三層: Canvas 本體 前景圖(Overl...

2024-08-17 ‧ 由 merano5342 分享
DAY 15

Day15-Fabric.js 中的動畫效果

先上demo:Animation Easing | Fabric.js Demos (fabricjs.com)fabric.js 使用物件的方式來控制,可以讓...

2024-08-18 ‧ 由 merano5342 分享
DAY 16

Day16-fabric.js 進階組合技!自定義控件開發 (control) 實例

如果我想要每個物件的控制,旁邊都可以有刪除或是複製功能的 icon 可以點擊,並且可以個別操作,該怎麼做呢? 登登,可以使用 fabric.Control 來新...

2024-08-19 ‧ 由 merano5342 分享
DAY 17

Day17-fabric.js 進階組合技!想要在畫布範圍之外的控制點也可以被看到

你曾經有,放進去的圖片過大,結果超過畫布範圍,沒有控制點可以拉的窘境嗎?或是想要畫布的圖形有出血效果,卻難以判斷圖形究竟已經超出邊框多少嗎? 您的救星來了!在畫...

2024-08-20 ‧ 由 merano5342 分享
DAY 18

Day18-fabric.js 進階組合技! 畫布縮放與平移:實現像 illustrator 一樣的縮放和拖動功能

欸~ 畫布上面物件太多,我想拉近一點看可以嗎?欸~ 畫布佔版面太大了,我想拉遠一點看可以嗎?欸~ 我想仔細確認一下上傳的圖看起來對不對,可以往右移嗎? 這 不...

2024-08-21 ‧ 由 merano5342 分享
DAY 19

Day19-修改畫布 prototype 的入門-拆解 fabric-history prototype (1)

今天不開發新功能,今天來拆解別人的扣~ 來說說 prototype 要怎麼改寫!在那之前,先來認識我們的例子 fabric-history 是怎麼寫的。 ali...

2024-08-22 ‧ 由 merano5342 分享
DAY 20

Day20- 修改畫布 prototype 的入門-拆解 fabric-history prototype (2)

來細拆 fabric-history 裏面有哪些東西吧 使用立即執行函數(IIFE): 將整個擴展包裹在一個立即執行函數中,可以避免污染全局命名空間。 fabr...

2024-08-23 ‧ 由 merano5342 分享