是否可以使用CSS和Javascript将模糊效果添加到图像中?
是否可以使用CSS和Javascript将模糊效果添加到图像中?
没错,这个非常好用:
Pixastic是一个实验性的库,允许您仅使用少量JavaScript对图像执行各种操作。开箱即用的效果包括色彩去饱和/灰度化、反转、翻转、亮度/对比度调整、色调/饱和度、浮雕、模糊等等…
Pixastic通过利用HTML5 Canvas元素来获取原始像素数据来工作,因此可以开展更高级的图像特效。这是"实验性"部分发挥作用的地方。Canvas仅受某些浏览器支持,不幸的是Internet Explorer不是其中之一。但它在Firefox和Opera中得到了良好的支持,并且对于Safari,最近的Safari 4(beta)版本刚刚加入了对其的支持。Chrome目前在dev频道中运行。一些效果已经在IE中使用年老的专有滤镜进行了模拟。虽然这些滤镜比它们的Canvas朋友快得多,但数量很少而且功能受限。希望有一天我们也能在IE上拥有真正的Canvas…
使用CSS
.cbp-rfgrid li:hover img {
-webkit-filter: blur(2px);
-moz-filter: blur(2px);
filter: blur(2px);
}
StackBlur如何工作:以下是我如何使用它的方法:同时,适用于所有浏览器和iPad!不像Webkit!!
从这里下载StackBlur v5.0:StackBlurv5.0
HTML
<CANVAS ID="top"></CANVAS>
<SCRIPT TYPE="text/javascript" SRC="js/StackBlur.js"></SCRIPT>
CSS
#top {
border-radius: 28%;
-o-border-radius: 28%;
-webkit-border-radius: 28%;
-moz-border-radius: 28%;
position: absolute;
top: -2px;
left: -2px;
z-index: 40;
width: 208px;
height: 208px;
}
JS
var topCan = document.getElementById("top");
var toptx = topCan.getContext("2d");
toptx.drawImage(_specimenImage, 0, 0);
var blur = 0;
blur = Math.abs(_sliderF.getPosition(8, -8)); //this returns multiple values
//based on a new slider position
stackBlurCanvasRGB("top", 0, 0, topCan.width, topCan.height, blur);
注意事项: 对于stackBlurCanvasRGB函数,半径值的范围应该在100到-100之间。只需尝试不同的值,你就能使其正常工作。 在iPad上,CanvasRGB比CanvasRGBA快,至少我在第四代iPad上是这样观察到的。
http://purpledesign.in/blog/adjust-an-image-using-css3-html5/
请查看以下代码以获取更多细节。img {
-webkit-filter: grayscale(100%);
}
要添加褐色调:
img {
-webkit-filter: sepia(100%);
}
img {
-webkit-filter: brightness(50%);
}
调整对比度:
img {
-webkit-filter: contrast(200%);
}
img {
-webkit-filter: blur(10px);
}
试试这个:
let blur = document.querySelector("#blur");
let girlImg = document.querySelector("#girlImg");
blur.addEventListener('input', blurring);
function blurring(){
girlImg.style.filter = `blur(${blur.value}px)`
}
<div>
<span>Blur:</span>
<input type="range" id="blur" min="0" max="50" value="0">
</div>
</br>
<img id="girlImg" src="https://homepages.cae.wisc.edu/~ece533/images/girl.png" alt="girlImg" />
Pixastic通过利用HTML5 Canvas元素来提供对原始像素数据的访问
,据我所知IE 8没有Canvas,那么它如何在其中工作呢? 顺便说一句,这个库真的很棒;) - Clyde Lobofilter
效果都可以在即使是IE6中运行。 - thirtydot