如果将鼠标悬停在图像上,我想使图像变暗。 是否有可能通过JQuery(或Javascript)改变img的色调,饱和度或伽马值?JQuery改变色相,饱和度,gamma的<img>?
回答
您是否试过PaintbrushJS或Pixastic库?
这是不可能做到这一点使用仅 JavaScript的(因为它不能处理二进制文件),但是你可以用HTML5 <canvas>
元素,以帮助做到这一点。
Take a look here,有一些图书馆在那里提供帮助。
如果你只是想消除它,更改悬停的不透明度,例如:
$("img").css({ opacity: 0.5 }).hover(function() {
$(this).animate({ opacity: 1 });
}, function() {
$(this).animate({ opacity: 0.5 });
});
显示和隐藏在图像的顶部半透明的黑色<div>
。
扩展马塞洛的建议,你可以有你的图像的副本在决赛中,较暗的阶段,把它放在原来的顶部,并改变其不透明度鼠标悬停像尼克说。此方法允许您对图像转换进行任何操作:更改其色调,饱和度等。 可以找到一个简单的Javascript淡入淡出动画代码here。
可以在CSS
IMG:hover
{
-ilter: brightness(0.7);
-webkit-filter: brightness(0.7);
-moz-filter: brightness(0.7);
-o-filter: brightness(0.7);
-ms-filter: brightness(0.7);
}
还有其他过滤器一样模糊,饱和,相比之下,一帮做这个...
您可以easely使用jQuery,如果你想改变的CSS。
我把这个原型放在一起,它使用跨浏览器,CSS唯一的解决方案在悬停时为图像饱和度设置动画。在JS/jQuery中有很多方法可以实现,但是为什么不在CSS中执行呢?
img[class*="filter-resat"] {
filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale"); // For Firefox 10+
filter: gray; // For IE 6+
-webkit-filter: grayscale(100%); // for Chrome & Safari
// Now we set the opacity
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; // for IE
filter: alpha(opacity=40); // Chrome + Safari
-moz-opacity: 0.6; // Firefox
-khtml-opacity: 0.6; // Safari pre-webkit
opacity: 0.6; // Modern
// Now we set up the transition
-webkit-transition: all 1.0s ease;
-webkit-backface-visibility: hidden;
}
img[class*="filter-resat"]:hover {
filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'1 0 0 0 0, 0 1 0 0 0, 0 0 1 0 0, 0 0 0 1 0\'/></filter></svg>#grayscale");
-webkit-filter: grayscale(0%);
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
filter: alpha(opacity=100);
-moz-opacity: 1;
-khtml-opacity: 1;
opacity: 1;
}
// You can leave this part out and the above code will default to a 1 second transition duration.
img.filter-resat9 {-webkit-transition: all .9s ease;}
img.filter-resat8 {-webkit-transition: all .8s ease;}
img.filter-resat7 {-webkit-transition: all .7s ease;}
img.filter-resat6 {-webkit-transition: all .6s ease;}
img.filter-resat5 {-webkit-transition: all .5s ease;}
img.filter-resat4 {-webkit-transition: all .4s ease;}
img.filter-resat3 {-webkit-transition: all .3s ease;}
img.filter-resat2 {-webkit-transition: all .2s ease;}
img.filter-resat1 {-webkit-transition: all .1s ease;}
这需要更多upvotes。这真太了不起了! – helgatheviking 2015-01-11 18:37:37
谢谢!我不认为这是可行的答案,因为它不是JQuery。 – 2015-01-13 18:29:24
为什么使用脚本如果你可以用CSS获得相同的效果?无论如何,我现在正在使用它,并抽出我发现这一点。如果可以的话,我会再次投票。 :) – helgatheviking 2015-01-13 21:32:34
- 1. 色彩饱和度/ DESAT jQuery中
- 2. Monotouch:改变图像的色调,而不仅仅是饱和度
- 3. Bootstrap Alerts颜色饱和度
- 4. 鼠标XY改变图像饱和度
- 5. 如何修改UIColor的色调,亮度和饱和度?
- 6. 橙色的色调/饱和度值
- 7. 从Photoshop的色相/饱和度调整层的算法
- 8. jQuery彩色动画相对于元素的当前颜色(色调,饱和度,亮度)
- 9. 在vb.net中改变屏幕的色相/饱和度而不使用窗体背景色
- 10. 应用色相/饱和度滤镜与OpenGL的图像
- 11. Android:使用色调,饱和度和亮度定义颜色
- 12. PHP锻炼色彩饱和度
- 13. 如何在.NET中使用ColorMatrix来更改亮度,颜色,饱和度,色调
- 14. 颜色分析 - 饱和度,色度,温暖,酷等
- 15. 是否有将UIColor转换为色相饱和度亮度的功能?
- 16. UIColor饱和度亮度值与颜色的常规饱和度亮度值不同
- 17. Matlab fwrite饱和度
- 18. R:减少调色板的颜色饱和度
- 19. matplotlib:带饱和度的单色着色图
- 20. 如何从UIColor中获得色调,饱和度和亮度?
- 21. 编辑CCSprite的色调和/或饱和度
- 22. Imagemagick去饱和黑色/白色?
- 23. 无法保存已更改的位图(已更改饱和度)
- 24. 根据加载的百分比更改背景颜色饱和度
- 25. 视频在机器人:改变视觉特性(例如饱和度,亮度)
- 26. SCSS绝对饱和度
- 27. 爱立信是否支持色彩调制(色调,饱和度,亮度)?
- 28. 整体亮度/ gamma?
- 29. xtable:改变颜色和厚度(table.attributes)
- 30. 去饱和使用pixastic - jquery
这仍然有支持很差。目前的IE和Firefox仍然不支持它。 Chrome,Safari和大多数移动浏览器都可以。 – 2014-02-25 14:53:32
这不是跨浏览器兼容 – 2014-09-15 13:59:20