Still WIP, could use some extra parameters such as RGBA channel, and I should also implement it as an image effect.