【问题标题】:Is there any way to change the hue of an entire webpage client side?有没有办法改变整个网页客户端的色调?
【发布时间】:2020-12-02 01:36:46
【问题描述】:

无法找到有关此的任何信息。看来应该可以了……

有没有办法用js改变单个元素(比如图片)的色调?

【问题讨论】:

    标签: javascript colors


    【解决方案1】:

    您可以使用画布 API 访问图像的数据。然后你可以改变颜色。不过这可能非常昂贵(需要一些时间来渲染)。

    为了做整个页面,你可以做

    #overlay {
        display: block;
        width: 100%;
        height: 100%;
        position: fixed;
        top: 0;
        left: 0;
        background: red;
        opacity: 0.7; /* check IE's proprietary filter */
    }
    

    【讨论】:

      【解决方案2】:

      我能想到的唯一方法是按照以下思路:

      1. 遍历 页面,找到它的 COMPUTED 背景 颜色和文字颜色。用东西 像ColorJizz 改变 色调。
      2. 查找每张图片 - 包括 背景图像。也许你又 可以通过找到 计算样式。会很麻烦。。 然后,您可以选择 将它们重定向到服务器端 可以改变色调的脚本 那些,或者用 画布元素并通过 每个像素和改变颜色 那个。再一次 - colorjizz 会 为此工作,但它会非常 慢。

      一般来说,我不建议这样做。很难做到正确。

      【讨论】:

        【解决方案3】:

        如果你想给图片染上特定的颜色,你可以覆盖一个半透明的颜色div

        如果您的意思是实际改变图像的色调,就像您在 Photoshop 中所做的那样,我认为 JavaScript 无法在任何主流浏览器中做到这一点。

        【讨论】:

        • 我不明白为什么在现代浏览器中不可能:您可以检索和修改区域值或画布元素的单个像素。
        • 显然我不知道你可以用画布做什么。
        猜你喜欢
        • 1970-01-01
        • 2016-06-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-29
        • 2016-01-02
        • 2021-07-02
        相关资源
        最近更新 更多