skip to Main Content

I have image with different colors. In adobe photoshop my image filtered with smart filter which add hue, saturation, brightness to image. So I need to change all colors on image to hue of blue. But in css hue-rotate() function rotate all colors, but i need to set one color and change some saturation and brightness.This is source image: source image
I need to get this: filtered image
How i can set one hue color on image with css filter?

2

Answers


  1. You can combine a sepia filter with hue-rotate to approximate it:

    img {
     max-width:100%;
     filter:sepia(1) hue-rotate(149deg);
    }
    <img src="https://i.stack.imgur.com/lMWO8.png">
    Login or Signup to reply.
  2. You can consider mix-blend-mode property.

    With pseudo elements and with background-image:

    .img {
      background-image: url("https://i.stack.imgur.com/lMWO8.png");
      width: 1280px;
      height: 302px;
      position: relative;
    }
    .img::before, .img::after {
      content: '';
      width: 100%;
      height: 100%;
      position: absolute;
      left: 0;
      top: 0;
    }
    .img::before {
      background-color: gray;
      mix-blend-mode: color;
    }
    .img::after {
      mix-blend-mode: overlay;
      background-color: green;
    }
      <div class="img"></div>

    Or img tags.

    .cont {
      position: relative;
      width: 1280px;
      height: 302px;
    }
    
    .origin, .color-overlay--1, .color-overlay--2 {
      position: absolute;
      left:0;
      top:0;
      width: 100%;
      height: 100%;
    }
    
    .origin {
      z-index:1;
    }
    
    .color-overlay--1 {
      z-index:2;
      background-color:gray;
      mix-blend-mode:color;
    }
    
    .color-overlay--2 {
      z-index:3;
      mix-blend-mode:overlay;
      background-color:#98aeea;
    }
    <div class="cont">
      <img src="https://i.stack.imgur.com/lMWO8.png" alt="" class="origin">
      <div class="color-overlay--1"></div>
      <div class="color-overlay--2"></div>
    </div>

    So you can turn it into any color you want.

    .cont {
      position: relative;
      width: 1280px;
      height: 302px;
    }
    
    .origin, .color-overlay--1, .color-overlay--2 {
      position: absolute;
      left:0;
      top:0;
      width: 100%;
      height: 100%;
    }
    
    .origin {
      z-index:1;
    }
    
    .color-overlay--1 {
      z-index:2;
      background-color:gray;
      mix-blend-mode:color;
    }
    
    .color-overlay--2 {
      z-index:3;
      mix-blend-mode:overlay;
      background-color:red;
    }
    <div class="cont">
      <img src="https://i.stack.imgur.com/lMWO8.png" alt="" class="origin">
      <div class="color-overlay--1"></div>
      <div class="color-overlay--2"></div>
    </div>
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search