是否可以在Fabric.js中爲圖像過濾器設置動畫效果?如「像素化」濾鏡。是否可以在Fabric.js中設置動畫效果?
4
A
回答
1
我用像演示一樣的方式解決了它。 不幸的是過濾器不能被動畫 - 他們需要太多的處理時間。
這裏是我的代碼:
image = ... //Image, where the filter should be applied
var filter = new fabric.Image.filters.RemoveWhite({
threshold: 0,
distance: 140
});
image.filters.push(filter);
image.applyFilters(canvas.renderAll.bind(canvas));
animate(image,1, 400); //Start the Animation
function animate(image,value, stop){
value += ((stop-value)*0.02); //Change the threshold-value
if (image.filters[0]) {
image.filters[0]['threshold'] = value;
console.log(value);
image.applyFilters(canvas.renderAll.bind(canvas)); //Start creating the new image
if(value<stop-100){
setTimeout(function(){act(image,value,stop);},1);
}
}
}
我知道代碼是不是最有效的,但它的工作原理。你可以看到動畫過濾器消耗的時間太多。
(我用1920x1080px圖像測試它,也許你可以用更小的圖像使用它)
+0
使用'fabric.util.requestAnimFrame'可能會更有效率(而不是手動遞歸的'setTimeout') – kangax 2013-11-18 16:46:55
0
這裏是亮度過濾器更新版本
var brightnessValue = 0.9;
var brightnessFilter = new fabric.Image.filters.Brightness({
brightness: brightnessValue
});
fabricImage.filters.push(brightnessFilter);
fabric.util.requestAnimFrame(function brightnessFilterAnimation() {
brightnessValue = brightnessValue - 0.04;
brightnessFilter.brightness = brightnessValue;
fabricImage.applyFilters();
if (brightnessValue > 0) {
fabric.util.requestAnimFrame(brightnessFilterAnimation);
}
});
相關問題
- 1. 可以在fabric.js中爲路徑設置動畫效果嗎?
- 2. 是否可以爲DialogFragment設置動畫效果?
- 3. 是否可以在CSS3中爲漸變不透明設置動畫效果?
- 4. 你可以在畫布上設置動畫效果
- 5. 是否可以爲UIEdgeInsets設置動畫?
- 6. 是否可以爲UIImage設置動畫?
- 7. 是否可以在ArcMap中爲標記添加動畫效果?
- 8. 是否可以使用ObjectAnimator爲Canvas上的對象設置動畫效果?
- 9. 在圖像中設置動畫效果
- 10. 在Raphael.js中設置動畫效果
- 11. 僅在UIBarButtonItem中設置動畫效果
- 12. 在android中設置動畫效果?
- 13. 是否有一個動畫可以產生脈動效果?
- 14. 是否有可能爲WPF中的BringIntoView方法設置動畫效果?
- 15. 可以爲$ anchorScroll設置動畫效果嗎?
- 16. 可以分別爲每個字母設置動畫效果嗎?
- 17. jquery可以爲css背景屬性設置動畫效果嗎?
- 18. 是否可以在iPhone上爲動畫設置標籤或ID?
- 19. 是否可以在PFImageView中爲新加載的圖像設置動畫效果?相關parse.com PFImageView
- 20. 在{N}中,我可以爲圖像backgroundPosition設置動畫效果嗎?
- 21. 爲此徽標設置動畫效果
- 22. 動畫設置,防抖效果
- 23. iOS;是否可以將動畫圖標設置爲UITabController圖標?
- 24. Flex 4 - 是否可以爲UITextField設置動畫
- 25. Android,是否可以爲TextView.setGravity()設置動畫?
- 26. 是否可以設置第一次啓動畫面?
- 27. 是否可以使用setTimeout設置循環動畫?
- 28. 是否可以爲畫布剪輯區域的位置設置動畫?
- 29. 在android中重置動畫效果
- 30. 是否可以在window.onPopState中設置e.preventDefault?
究竟如何要設置動畫過濾器?哪個參數在一段時間內應該改變? – kangax 2013-03-05 00:51:00
如過濾器亮度,以緩慢改變亮度 – Faradey 2013-03-05 06:38:47
,你可以在俄羅斯問問題 – Faradey 2013-03-05 06:41:24