Javascript putImageData是;“变暗”;形象

Javascript putImageData是;“变暗”;形象,javascript,android,html,canvas,Javascript,Android,Html,Canvas,我有两块帆布。在第一个画布中,我绘制了一个图像,在第二个画布中,我从第一个画布复制图像,并使用“getImageData”e“putImageData”将其粘贴到第二个画布中 下面的代码是我应用程序中的一小段代码。我剪掉了没有引起问题的部分并将其压缩。[请注意,javascript中的图像需要存在“image3.jpg”] var canvasLocal=document.getElementById('c'), context=canvasLocal.getContext('2d'), ca

我有两块帆布。在第一个画布中,我绘制了一个图像,在第二个画布中,我从第一个画布复制图像,并使用“getImageData”e“putImageData”将其粘贴到第二个画布中

下面的代码是我应用程序中的一小段代码。我剪掉了没有引起问题的部分并将其压缩。[请注意,javascript中的图像需要存在“image3.jpg”]

var canvasLocal=document.getElementById('c'), context=canvasLocal.getContext('2d'), canvasToRender1=document.getElementById('c2'), ctx=canvasLocal.getContext(“2d”), canvasToRender1Ctx=canvasToRender1.getContext('2d'), 基本图像=新图像(); base_image.src='imagem3.jpg'; base_image.onload=函数(){ canvasLocal.width=canvasToRender1.width=base\u image.width; canvasLocal.height=canvasToRender1.height=base\u image.height; drawImage(基本图像,0,0); var imgData=ctx.getImageData(0,0,base_image.width,base_image.height); canvasToRender1Ctx.putImageData(imgData,0,0); }
目前,解决方案是使用drawImage而不是putImageData

按照代码解决问题:

var canvasLocal = document.getElementById('c'),
context = canvasLocal.getContext('2d'),
canvasToRender1 = document.getElementById('c2'),
ctx = canvasLocal.getContext("2d"),
canvasToRender1Ctx = canvasToRender1.getContext('2d'),
base_image = new Image();

base_image.src = 'imagem3.jpg';
base_image.onload = function() {
     canvasLocal.width = canvasToRender1.width = base_image.width;
     canvasLocal.height = canvasToRender1.height = base_image.height;

     context.drawImage(base_image, 0, 0);

}

找到了需要修改像素时的分辨率。 您可以使用
ImageBitmap

返回createImageBitmap(imageData)。然后返回(函数(位图){
var canvas=document.createElement('canvas');
canvas.width=bitmap.width;
canvas.height=bitmap.height;
canvas.getContext('2d').drawImage(位图,0,0);
});

我有一个三个字母的注释,从W开始,用F结尾,中间有T。我知道你有一个解决办法,但出于好奇,你能用任何图像复制吗?您的原始图像是否嵌入了颜色配置文件?是的,我可以。我测试了不同尺寸的不同图像,也测试了不同画布尺寸的图像。真奇怪。让我们看看google chrome的人是怎么说的。所以,如果我正在获取图像数据,修改它,在这种情况下我不能使用drawImage,那么我需要等待chrome解决这个问题?可能吧。对我来说,这很有效。对于您的情况,我不知道是否有其他解决方案,然后等待chromefix@RicardoRocha你能再发一点代码吗?对我来说,canvasToRender1似乎什么都做不了。