CamanJS icon indicating copy to clipboard operation
CamanJS copied to clipboard

Opacity Filter for image is not there.

Open inkxe-vasanth opened this issue 7 years ago • 1 comments

We need opacity for the image -

I have added this code to camenjs, it's working for me fine. Review the code add it if feel useful.

Code

Filter.register("opacity", function (adjust) {
        adjust = Math.floor(255 * (adjust / 100)); 
        var imageData = this.imageData.data,
            length = imageData.length;
        // set every fourth value to 50
        for (var i = 3; i < length; i += 4) {
            imageData[i] = imageData[i] == 0 ? imageData[i] : adjust;
        }
        // after the manipulation, reset the data
        this.imageData.data = imageData;
        this.context.putImageData(this.imageData, 0, 0); 
    });

inkxe-vasanth avatar Sep 18 '18 14:09 inkxe-vasanth

This works better:

Caman.Filter.register('opacity', function(adjust) {
	adjust = Math.floor(255 * (adjust / 100));
	var inputData = this.pixelData, length = inputData.length;
	// Adjust alpha channel (every 4th value):
	for (var i = 3; i < length; i += 4) {
		inputData[i] = inputData[i] == 0 ? 0 : adjust;
	}
});

av01d avatar May 02 '19 13:05 av01d