HTML5 Canvas putImageData()方法获取反转图像颜色

gooood个人博客网站

canvas

要使用HTML5 Canvas反转图像的颜色,我们可以迭代图像中的所有像素,并通过从最大颜色值255中减去每个组件来反转红色,绿色和蓝色组件。接下来,我们可以重新绘制 使用更新的图像数据和putImageData()方法反转图像,这需要图像数据数组和位置。
注意:getImageData()方法要求图像托管在Web服务器上,该域与执行它的代码具有相同的域。 如果不满足此条件,将抛出SECURITY_ERR异常。
html代码:
<!DOCTYPE HTML> <html> <head> <style> body { margin: 0px; padding: 0px; } </style> </head> <body> <canvas></canvas> <script> function drawImage(imageObj) { var canvas = document.getElementById('myCanvas'); var context = canvas.getContext('2d'); var x = 69; var y = 50; context.drawImage(imageObj, x, y); var imageData = context.getImageData(x, y, imageObj.width, imageObj.height); var data = imageData.data; for(var i = 0; i < data.length; i += 4) { // red data[i] = 255 - data[i]; // green data[i + 1] = 255 - data[i + 1]; // blue data[i + 2] = 255 - data[i + 2]; } // overwrite original image context.putImageData(imageData, x, y); } var imageObj = new Image(); imageObj.onload = function() { drawImage(this); }; imageObj.src = 'https://www.html5canvastutorials.com/demos/assets/darth-vader.jpg'; </script> </body> </html>

本文内容由用户注册发布,仅代表作者或来源网站个人观点,不代表本网站的观点和立场,与本网站无关。本网系信息发布平台,仅提供信息存储空间服务,其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本网站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。如因作品内容侵权需删除与其他问题需要同本网联系的,请尽快通过本网的邮箱或电话联系。 
THE END
分享
二维码
< <上一篇
下一篇>>