내 이미지를 편집하는 데 glfx.js을 사용하고 있지만 toDataURL()
함수를 사용하여 해당 이미지 데이터를 가져 오려고 할 때 원본 이미지와 동일한 크기의 너비를 갖습니다. 영상).Canvas toDataURL()은 Firefox에서만 빈 이미지를 반환합니다.
이상한 점은 Chrome에서 스크립트가 완벽하게 작동한다는 것입니다.
내가 언급하고자하는 이미지가 onload 이벤트를 사용하여 canvas
에로드되어 있습니다 :
img.onload = function(){
try {
canvas = fx.canvas();
} catch (e) {
alert(e);
return;
}
// convert the image to a texture
texture = canvas.texture(img);
// draw and update canvas
canvas.draw(texture).update();
// replace the image with the canvas
img.parentNode.insertBefore(canvas, img);
img.parentNode.removeChild(img);
}
또한 내 이미지의 경로가 동일한 도메인에;
Firefox에서 문제는 저장 버튼을 눌렀을 때입니다. Chrome은 예상 결과를 반환하지만 Firefox는 다음을 반환합니다.
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA7YAAAIWCAYAAABjkRHCAAAHxklEQVR4nO3BMQEAAADCoPVPbQZ/oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
... [ lots of A s ] ...
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAzwD6aAABkwvPRgAAAABJRU5ErkJggg==
이 결과가 발생할 수 있으며 어떻게 해결할 수 있습니까?
편집중인 이미지가 같은 도메인에 있습니까? 명백한 것을 제외하기 만하면됩니다. – A1rPun
예. 내가 언급 할 내 게시물을 편집합니다! 같은 도메인에 있지 않은 이미지가있는 Firefox (크롬이 아님)에 문제가 있습니까? – boyd
비동기 작업이 어딘가에서 일어나는 것 같습니다. toDataURL()이 호출 될 때 이미지가로드되지 않으면 캔버스가 비어있게됩니다. – K3N