2016-10-04 36 views
2

我想知道如何将CSS过滤器应用于图像,然后将图像保存到磁盘。如何使用应用CSS过滤器保存图像

例如,我有一个形象的标签,我可以通过CSS

img.sepia{ 
    filter: sepia(20%); 
} 

应用棕褐色效果和类适用于图像标记在HTML

<img src="img.png" class="sepia" /> 

我如何保存应用了过滤器的图像?

+0

[屏幕抓取](https://support.microsoft.com/en-us/help/13776/windows-use-snipping-tool-to-capture-screenshots) – adeneo

+0

如果您有任何疑问,您可以随时从屏幕截取屏幕截图正在寻找你自己的用途。 – poush

+0

不,我基本上想用它来做我的网站。所以如果我上传一张照片到网站,所以我可以通过CSS应用过滤器,然后将其保存到我的画廊。 – Rahul

回答

0

您可以将图像写入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>

+0

好的。感谢这个想法。我现在将学习画布。解决这个问题。但该下载按钮没有为我工作.. :) – Rahul

相关问题