jQuery: there is a way to apply colour (tint) to an image?
Asked Answered
L

4

9

there is a way to colour (apply tint) an image using jQ or some plugs? thank you

Linwoodlinz answered 11/12, 2010 at 9:13 Comment(0)
B
16

Simplest way I can think of is overlaying a semitransparent div over the image.

A little example:

HTML

<div id="overlay" class="overlay"></div>
<img id="myimg" src="img.jpg" />

CSS

.overlay
    {
    display: block;
    position: absolute;
    background-color: rgba(200, 100, 100, 0.5);
    top: 0px;
    left: 0px;
    width: 0px;
    height: 0px;
    }

JS (with JQuery)

overlay = $("#overlay");
img = $("#myimg");
overlay.width(img.css("width"));
overlay.height(img.css("height"));
overlay.css("top", img.offset().top + "px");
overlay.css("left", img.offset().left + "px");
Bukharin answered 11/12, 2010 at 9:16 Comment(4)
Nice idea - a simpler, faster solution to using GD/ImageMagick with PHP, especially if the OP can't use PHP!Herrera
Excelent idea! Worked great and saved me a lot of time using js colorizing libraries.Creation
Here is a jsfiddle. jsfiddle.net/yewTq . Unfortch, this technique applies the tint to the area surrounding the image.Metzger
Warning: this will also brighten any black in the image to not-black.Pervert
K
4

nico's answer is great if you're after a simple tinge of a colour - however, if you're talking about desaturating an image and then applying a tint (so that the image is only in green for example) then you can have a look at image manipulation with <canvas>

After some googling, I found this library for canvas that focuses on photo manipulation operations: https://github.com/meltingice/CamanJS

Karolekarolina answered 11/12, 2010 at 9:51 Comment(0)
H
-1

I'm not sure if you're using PHP, but it's not possible with JavaScript/jQuery. With PHP, you can use the GD image library to tint the image before it's sent to the client. This thread should help :-)

Also, this forum thread talks about ImageMagick to tint the image as well.

I'm very sorry if you aren't/can't use PHP, however JavaScript can't do what you want.

James

Herrera answered 11/12, 2010 at 9:18 Comment(1)
This isn't a link-only answer, but only barely, so other reviewers will probably opt to delete it. Include some content from those links if you want to save it.Diondione

© 2022 - 2024 — McMap. All rights reserved.