在沒有後端的畫布上保存應用了CSS 濾鏡的圖像
要保存在客戶端應用了CSS 濾鏡的圖像,請按照以下步驟操作:
轉換為畫布並提取圖像資料
- 使用以下命令將圖像轉換為畫布document.getElementById("myCanvas").getContext("2d").drawImage(image, 0, 0, canvas.width, canvas.height);.
- 使用myCanvas使用應用的濾鏡提取影像資料。 toDataURL("image/png").
套用 CSS 過濾器Context
但是,如果不支援上下文過濾屬性,則圖片將儲存為無效果。若要解決此問題:
- 使用 typeof ctx.filter === "undefined" 檢查 context.filter 屬性是否存在。
- 如果支持,請使用 ctx 應用 CSS 過濾器。在將影像繪製到畫布之前,filter = "filterValue"。
- 如果不支持,請使用未顯示的替代方法手動應用過濾器這裡。
範例
此範例使用 filter 屬性將棕褐色濾鏡套用至影像。如果不支援,它將使用後備(未顯示)。
var img = new Image(); img.crossOrigin = ""; img.onload = draw; img.src = "//i.imgur.com/WblO1jx.jpg"; function draw() { var canvas = document.querySelector("canvas"), ctx = canvas.getContext("2d"); canvas.width = this.width; canvas.height = this.height; // filter if (typeof ctx.filter === "undefined") { ctx.filter = "sepia(0.8)"; ctx.drawImage(this, 0, 0); } else { ctx.drawImage(this, 0, 0); // TODO: manually apply filter here. } document.querySelector("img").src = canvas.toDataURL(); }
請記住,CSS 濾鏡僅適用於元素的外觀,而不適用於實際的點陣圖資料。若要套用實際的濾鏡,如果濾鏡屬性不可用,請在像素層級使用點陣圖。
以上是如何在沒有伺服器的情況下保存在畫布上套用 CSS 濾鏡的圖片?的詳細內容。更多資訊請關注PHP中文網其他相關文章!
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

這是我們在形式可訪問性上進行的小型系列中的第三篇文章。如果您錯過了第二篇文章,請查看“以:focus-visible的管理用戶焦點”。在

CSS盒子陰影和輪廓屬性獲得了主題。讓我們查看一些在真實主題中起作用的示例,以及我們必須將這些樣式應用於WordPress塊和元素的選項。

Svelte Transition API提供了一種使組件輸入或離開文檔(包括自定義Svelte Transitions)時動畫組件的方法。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
刺客信條陰影:貝殼謎語解決方案
1 週前ByDDD
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
在哪裡可以找到原子中的起重機控制鑰匙卡
1 週前ByDDD

熱工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Dreamweaver Mac版
視覺化網頁開發工具