skip to Main Content

I was trying to see if there’s a way to change the color of some specific parts of an image without overriding the texture of it for example there’s a picture of a wooden table and I want to change the color of the top by a button without it losing the texture or affecting the other parts of the picture I tried using filters but that changed the entire picture, any help would be appreciated.

the example image:

enter image description here
one of the images is this and I want to change the color to red when clicked without changing the texture and making it all the same tone without any difference

2

Answers


  1. I suggest experimenting with globalCompositeOperation

    const img = document.querySelector('img')
    img.onload = () => {
      const canvas = document.querySelector('canvas')
      const ctx = canvas.getContext('2d')
    
      canvas.width = img.naturalWidth
      canvas.height = img.naturalHeight
    
      ctx.fillStyle = 'pink'
      ctx.drawImage(img, 0, 0)
      ctx.globalCompositeOperation = 'color'
      ctx.fillRect(0, 0, canvas.width, canvas.height)
    }
    <img hidden src="https://i.stack.imgur.com/hkkeK.png">
    <canvas></canvas>
    Login or Signup to reply.
  2. A fast way would be manipulate pixels manually. So the steps:

    • get ImageData of the canvas with getImageData().
    • create another ImageData with the same dimensions, let’s call it transformed.
    • loop through pixes and if the alpha isn’t 0 (transparent) then convert the pixel from the source ImageData to HSL, set it hue to 1 (red) and convert back to RGB and set this converted pixel to the transformed‘s data
    • when done, draw the transformed on the canvas with putImageData():
    const img = document.querySelector('img')
    
    const canvas = document.querySelector('canvas')
    const ctx = canvas.getContext('2d')
    
    img.onload = () =>{
        canvas.width = img.naturalWidth
        canvas.height = img.naturalHeight
    
        ctx.drawImage(img, 0, 0)
    };
    
    canvas.addEventListener('click', () => {
    
        const image = ctx.getImageData(0, 0, canvas.width, canvas.height);
        const { data } = image;
    
        const transformed = ctx.createImageData(image);
        const newdata = transformed.data;
    
        let idx = 3;
        while (idx < data.length) {
            if (data[idx]) {
                const hsl = rgbToHsl(data[idx - 3], data[idx - 2], data[idx - 1]);
                hsl[0] = 1;
                const rgb = hslToRgb(...hsl);
                newdata[idx - 3] = rgb[0];
                newdata[idx - 2] = rgb[1];
                newdata[idx - 1] = rgb[2];
                newdata[idx] = data[idx];
            }
            idx += 4;
        }
    
        ctx.putImageData(transformed, 0, 0);
    });
    
    // taken from https://gist.github.com/emanuel-sanabria-developer/5793377
    
    function rgbToHsl(r, g, b) {
        r /= 255, g /= 255, b /= 255;
        var max = Math.max(r, g, b), min = Math.min(r, g, b);
        var h, s, l = (max + min) / 2;
    
        if (max == min) {
            h = s = 0; // achromatic
        } else {
            var d = max - min;
            s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
            switch (max) {
                case r: h = (g - b) / d + (g < b ? 6 : 0); break;
                case g: h = (b - r) / d + 2; break;
                case b: h = (r - g) / d + 4; break;
            }
            h /= 6;
        }
    
        return [h, s, l];
    }
    
    function hslToRgb(h, s, l) {
        var r, g, b;
    
        if (s == 0) {
            r = g = b = l; // achromatic
        } else {
            function hue2rgb(p, q, t) {
                if (t < 0) t += 1;
                if (t > 1) t -= 1;
                if (t < 1 / 6) return p + (q - p) * 6 * t;
                if (t < 1 / 2) return q;
                if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;
                return p;
            }
    
            var q = l < 0.5 ? l * (1 + s) : l + s - l * s;
            var p = 2 * l - q;
            r = hue2rgb(p, q, h + 1 / 3);
            g = hue2rgb(p, q, h);
            b = hue2rgb(p, q, h - 1 / 3);
        }
    
        return [r * 255, g * 255, b * 255];
    }
    <div>Click the image:</div>
    <canvas style="cursor:pointer"></canvas>
    <img hidden src="data:image/png;base64,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">
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search