BlackAndWhite 把图片转成黑白效果 jQuery 插件

发布于 2019-12-01 13:29:42 字数 4637 浏览 1746 评论 0

BlackAndWhite 是一款图片类的插件,这款插件可以很容易地将任何彩色图片转换成B&W灰度图片,当鼠标移动到图片上时,图片可慢慢恢复原有的色彩。该插件可用于图片展示或相册等。

使用方法

引入文件

你需要同时引入jQuery文件和BlackAndWhite插件文件,jQuery文件必须放置到前面。

<script src="js/jquery.min.js"></script>
<script src="js/jQuery.BlackAndWhite.js"></script>

HTML代码

<ul id="wrapper">
    <li>
        <a class="bwWrapper" href="###">
            <img  src="images/Chrysanthemum.jpg" alt="">
        </a>
    </li>
    <li>
        <a class="bwWrapper" href="###">
            <img  src="images/Desert.jpg" alt="">
        </a>
    </li>
    <li>
        <a class="bwWrapper" href="###">
            <img  src="images/Koala.jpg" alt="">
        </a>
    </li>
    <li>
        <a class="bwWrapper" href="###">
            <img  src="images/Lighthouse.jpg" alt="">
        </a>
    </li>
    <li>
        <a class="bwWrapper" href="###">
            <img  src="images/Penguins.jpg" alt="">
        </a>
    </li>
    <li>
        <a class="bwWrapper" href="###">
            <img  src="images/Tulips.jpg" alt="">
        </a>
    </li>
</ul>

注意有一个类名 class=”bwWrapper”,这个必须有,因为下面的 CSS 需要用到。当然改成别的也可以,但必须与 CSS 样式对应。

CSS样式

.bwWrapper {
    position: relative;
    display: block;
}

初始化插件

$('.bwWrapper').BlackAndWhite({
    hoverEffect : true, // default true
    // set the path to BnWWorker.js for a superfast implementation
    webworkerPath : false,
    // to invert the hover effect
    invertHoverEffect: false,
    // this option works only on the modern browsers ( on IE lower than 9 it remains always 1)
    intensity:1,
    speed: { //this property could also be just speed: value for both fadeIn and fadeOut
        fadeIn: 200, // 200ms for fadeIn animations
        fadeOut: 800 // 800ms for fadeOut animations
    },
    onImageReady:function(img) {
        // this callback gets executed anytime an image is converted
    }
});

注意:BlackAndWhite 必须使用 window 的 load 事件,而不是 $(document).ready() 事件,因为 BlackAndWhite 是应用于图片上,所以必须等图片加载完成。

可选参数

参数说明
hoverEffecthover 效果,默认为 false,即鼠标移动到图片上不会变为彩色的,仍然为灰色的;如果为 true,则反之
webworkerPath文件路径,BlackAndWhite 需要用到一个 BnWWorker.js 文件,这个文件才是真正处理图片的脚本,这个参数就是指定 BnWWorker.js 文件的路径。默认为 false,即与 BlackAndWhite 在文件夹下
responsive响应
invertHoverEffect颠倒 hover 效果,即 hoverEffect 的效果相反
speed图片变换速度,包括淡入和淡出两个速度

轻量级的解决方案

如果你正在寻找一个轻量级的解决方案,您可以使用以下 CSS 代替,但它不是 100% 跨浏览器:

img {
    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");
    /* Firefox 10+, Firefox on Android */
    filter: gray; /* IE6-9 */
    -webkit-filter: grayscale(100%); /* Chrome 19+, Safari 6+, Safari 6+ iOS */
    transition: 0.3s ease-in;
}

img: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%);
}

相关链接

Github 地址:https://github.com/GianlucaGuarini/jQuery.BlackAndWhite

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84960 人气
更多

推荐作者

沧笙踏歌

文章 0 评论 0

山田美奈子

文章 0 评论 0

佚名

文章 0 评论 0

岁月无声

文章 0 评论 0

暗藏城府

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文