是否可以将缓动应用于像素模糊函数?
我有一个全屏背景图像,我想在点击按钮时模糊,因为我在它上面叠加了一些内容。
我目前正在这样做(使用jquery):
$(".bg").pixastic("blurfast", {amount:1});这对模糊效果很好,但它是立即发生的。有没有可能通过某种放松来使这种效果淡出呢?
我以前在Flash中做过这个效果,但这是我第一次用javascript尝试。
我对使用不同的js库持开放态度,如果它在除像素之外的其他地方是可能的。
谢谢
发布于 2012-12-13 23:42:52
有可能吗?好的。
就像可以对几乎任何数值进行缓和一样……问题是,pixastic并不直接支持轻松功能,所以您可以自己构建轻松功能,这非常简单。
一旦你构建了缓动函数(我不会尝试为你编写,因为有许多缓动函数,而且我不知道你想要什么类型的效果),只需将产生的模糊值输入到pixastic。
例如,创建如下所示的函数:
function myEasingFunc(percent){
// Your easing code here
return result;
}然后使用递增的百分比值重复调用此函数:
for(i==0;i<100;i++){
var amount=myEasingFunc(i);
$("#myimage").pixastic("blurfast", {amount:amount});
}显然,这不是您直接想要的,因为在步骤之间没有延迟,并且每个步骤递增1%的100个步骤是浪费的,但这是该过程的例证。
选项不胜枚举……而不是让模糊的百分比基于时间,就像你所想的那样,你也可以根据文本从看不见的地方飞入框中的位置来计算,就像一个例子。
我不知道这是不是你想要的,但我希望它能帮助到某个人,不管怎样。
发布于 2014-07-25 23:32:17
我们使用的方法是这样的:
var wrap = $(parent_element);
var img = wrap.find('.img-to-blur');
var canvas = img.clone().addClass('blur').css('opacity', '').prependTo(wrap);
img.fadeOut();
canvas.fadeIn();这对CPU来说比在javascript中重新计算每个模糊级别要好。
注意:代码更像是一个伪代码,它可能不是CTRL+INSERT & SHIFT+INSERT就绪的。
https://stackoverflow.com/questions/11072807
复制相似问题