HTML5   发布时间:2022-04-26  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了html5 – context.getImageData()操作不安全大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想为 HTML5画布实现一个简单的灰度过滤器,但我可以将Image数据作为像素抓取.我从FF和Chrome获得安全警告.最后,滤镜不会使图像变灰.

JS FIDLE CODE

JS:

var canvas = document.getElementById('canvas');       
var context = canvas.getContext('2d');  

var image = new Image();
image.onload = function () {
  if (image.width != canvas.width)
    canvas.width = image.width;
  if (image.height != canvas.height)
    canvas.height = image.height;
  context.clearRect(0,canvas.width,canvas.height);
  context.drawImage(image,canvas.height);
  var imageData = context.getImageData(0,canvas.height);
  filter(imageData);
  context.putImageData(imageData,0);
}
image.src = "http://i0.gmx.net/images/302/17520302,pd=2,h=192,mxh=600,mxw=800,w=300.jpg";

function filter(imageData){
 var d = imageData.data;
   for (var i = 0; i < d.length; i += 4) {
     var r = d[i];
     var g = d[i + 1];
     var b = d[i + 2];
     d[i] = d[i + 1] = d[i + 2] = (r+g+b)/3;
   }
return imageData;
}

解决方法

这是一项安全功能.从 W3开始:

这是为了防止恶意网站所有者将用户浏览器可访问的潜在私有图像加载到画布上,然后将数据发送到自己的服务器.如果出现以下情况,可以关闭原点清洁:

大佬总结

以上是大佬教程为你收集整理的html5 – context.getImageData()操作不安全全部内容,希望文章能够帮你解决html5 – context.getImageData()操作不安全所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: