我想知道如何將CSS過濾器應用於圖像,然後將圖像保存到磁盤。如何使用應用CSS過濾器保存圖像
例如,我有一個形象的標籤,我可以通過CSS
img.sepia{
filter: sepia(20%);
}
應用棕褐色效果和類適用於圖像標記在HTML
<img src="img.png" class="sepia" />
我如何保存應用了過濾器的圖像?
我想知道如何將CSS過濾器應用於圖像,然後將圖像保存到磁盤。如何使用應用CSS過濾器保存圖像
例如,我有一個形象的標籤,我可以通過CSS
img.sepia{
filter: sepia(20%);
}
應用棕褐色效果和類適用於圖像標記在HTML
<img src="img.png" class="sepia" />
我如何保存應用了過濾器的圖像?
您可以將圖像寫入canvas元素,在javascript中設置所需的過濾器,然後下載它。因此,這將是這樣的
var canvas = document.getElementById('image');
var ctx = canvas.getContext('2d');
ctx.filter = "sepia(20%)";
var img = document.getElementById("dataimage");
ctx.drawImage(img,0,0, canvas.width, canvas.height);
var downloadFile = document.getElementById('download');
downloadFile.addEventListener('click', download, false);
function download() {
var dt = canvas.toDataURL('image/jpeg');
this.href = dt;
};
img{
width:400px;
height:400px;
}
<img src="" id="dataimage" />
<canvas id="image" width="400px" height="400px"></canvas>
<a id="download">Download image</a>
好的。感謝這個想法。我現在將學習畫布。解決這個問題。但該下載按鈕沒有爲我工作.. :) – Rahul
檢查瀏覽器的兼容性你選擇畫布方法之前:https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/filter
它不支持大部分的移動瀏覽器。
我使用像Cloudinary這樣的圖像服務。
[屏幕抓取](https://support.microsoft.com/en-us/help/13776/windows-use-snipping-tool-to-capture-screenshots) – adeneo
如果您有任何疑問,您可以隨時從屏幕截取屏幕截圖正在尋找你自己的用途。 – poush
不,我基本上想用它來做我的網站。所以如果我上傳一張照片到網站,所以我可以通過CSS應用過濾器,然後將其保存到我的畫廊。 – Rahul