<script>
var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');
var img = new Image();
img.onload = function(){
canvas.width=img.width;
canvas.height=img.height;
context.drawImage(img,0,0);
}
img.src="2.jpg";
function compress(){
var dataURL = canvas.toDataURL("image/jpg",0.5);
document.getElementById("img").src=dataURL;
}
setTimeout(compress,1000);
</script>
예 : drawImage()
대신 fillRect()
으로 사용하려고했습니다. 정상적으로 작동합니다 ... 이유는 다음과 같습니다. drawImage()
drawImage() 이후 Canvas (JS) toDataUrl()이 작동하지 않는 이유는 무엇입니까?
테스트중인 코드에서 이미지의 * 실제 * URL은 무엇입니까? 특히 코드가있는 페이지와 동일한 도메인에 있습니까? – Pointy
또한 이미지 "onload"콜백에 "compress"를 호출해야합니다. 당신은 이미지 HTTP 요청에 의존하여 1 초 이내에 끝내기도하지만, 실제로는 그렇지 않을 수도 있습니다. – Pointy