캔버스에 이미지를 그리기 '데이터 URL을'의 선택해야하는 하나우리는 원래 URL 내가 <a href="https://jsfiddle.net/AndrewGong/mkx7f8un/11/" rel="nofollow noreferrer">here</a>에 코드를
나는 웹 이미지의 URL을 사용할 때 내가 언젠가 찾을var can = document.getElementById('canvas1');
var ctx = can.getContext('2d');
ctx.fillRect(50,50,50,50);
src="https://www.pixelstalk.net/wp-content/uploads/2016/07/3D-High-Resolution-Images-620x349.jpg"
var image = new Image();
image.crossOrigin = "anonymous";
image.onload = function(){
var imgWidth=image.width;
var imgHeight=image.height;
ctx.drawImage(image,0,0,imgWidth,imgHeight);
}
image.src = src
, 그것은 공장. 그러나 때로는 웹 이미지의 '데이터 URL'을 사용해야합니다. 그렇다면 우리는 어느 것을 선택해야합니까? 원래 URL 또는 데이터 URL?
누구든지 조언을 해줄 수 있습니까?
차이점은 해상도가 아니라 * origin *으로 판단됩니다. 동일한 출처 정책은 다른 출처의 이미지로 수행 할 수있는 작업을 제한합니다. "다른 도메인의 이미지 사용"(원점을 의미) [여기] (https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Using_images)을 참조하십시오. –
cross origin을 cross origin으로 설정하면 'Cross-origin request'(즉, Origin : HTTP 헤더)가 수행됩니다. 그러나 어떤 신임장도 전송되지 않습니다 (즉, 쿠키가없고 X.509 인증서도없고 HTTP 기본 인증도 보내지지 않습니다). ** 서버가 원거리 사이트로 신임장을 제공하지 않으면 (Access-Control- Allow-Origin : HTTP 헤더) 이미지가 오염되어 사용이 제한됩니다. ** –
하지만 URL 이미지의 '데이터 URL'을 만드는 방법은 무엇입니까? – user8627119