如何在沒有伺服器的情況下保存在畫布上套用 CSS 濾鏡的圖片?
在沒有後端的畫布上保存應用了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

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章
如何修復KB5055523無法在Windows 11中安裝?
3 週前
By DDD
如何修復KB5055518無法在Windows 10中安裝?
3 週前
By DDD
<🎜>:死鐵路 - 如何馴服狼
4 週前
By DDD
<🎜>:種植花園 - 完整的突變指南
2 週前
By DDD
R.E.P.O.的每個敵人和怪物的力量水平
4 週前
By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

您是否曾經在項目上需要一個倒計時計時器?對於這樣的東西,可以自然訪問插件,但實際上更多

在元素個數不固定的情況下如何通過CSS選擇第一個指定類名的子元素在處理HTML結構時,常常會遇到元素個數不�...

關於Flex佈局中紫色斜線區域的疑問在使用Flex佈局時,你可能會遇到一些令人困惑的現象,比如在開發者工具(d...

格子呢是一塊圖案布,通常與蘇格蘭有關,尤其是他們時尚的蘇格蘭語。在Tartanify.com上,我們收集了5,000多個格子呢

在Safari中使用自定義樣式表的問題探討今天我們來探討一個關於Safari瀏覽器的自定義樣式表應用問題。前端新手...
