2012-08-24 4 views
1

을 사용할 수 없습니다 : 내가 콘솔에서 확인할 때 내가 먼저 캔버스 요소에 이미지를 얻을내가 다음 코드 한 캔버스 방법 putImageData

var img = new Image(); 
canvas = document.getElementById("c"); 
ctx = canvas.getContext('2d') 
canvas2 = document.getElementById("c2"); 
ctx2 = canvas2.getContext('2d') 
img.onload = function() { 
    canvas.width = img.width; 
    canvas.height = img.height; 
ctx.drawImage(img,0,0); 
}; 
img.src = 'mwq.gif'; 
var imageData = ctx.getImageData(0, 0, canvas.width, canvas.height); 
ctx2.putImageData(imageData, 0, 0); 

하고, imageData의 어떻게 든 폭, 아이폰에 픽셀 배열 만에,이 다른 캔버스 요소에서 그 이미지를 가져올 수 없습니다. 필자는 오타가 있다고 생각하지 않는다. 동일한 코드를 여러 번 다시 쓰고, 결국에는 픽셀 조작없이 대부분의 최소 버전을 제거했지만 여전히 작동하지 않는다.

+0

로 변경할 수 있을까? –

+0

http://jsfiddle.net/t59xk/4/ – wazzup

답변

2

코드는 onload 콜백에서 호출되지 않으며 이미지를로드하기 전에 실행되므로 넣을 내용이 없습니다.

당신은 당신이 우리에게 http://JSFiddle.net에서 데모를 보여줄 수

var img = new Image(); 
canvas = document.getElementById("c"); 
ctx = canvas.getContext('2d') 
canvas2 = document.getElementById("c2"); 
ctx2 = canvas2.getContext('2d') 
img.onload = function() { 
    canvas.width = img.width; 
    canvas.height = img.height; 
    ctx.drawImage(img,0,0); 
    var imageData = ctx.getImageData(0, 0, canvas.width, canvas.height); 
    ctx2.putImageData(imageData, 0, 0); 
}; 
img.src = 'mwq.gif'; 
+0

이미지 픽셀을 조작하고 싶었는데이 문제가 있었는데 코드를이 단순한 버전으로 옮겨서 'putImageData'메서드를 체크하고 작동하지 않게되었습니다. 그리고 내가 코드를 변경하면 "DOM eception 18"이 생깁니다. – wazzup