한 가지 문제를 해결하기 위해 며칠간 노력하지만 불가능한 이유를 이해할 수 없습니다. 캔버스에 그림이 그려지지만 파생이 잘못된 base64를줍니다. 나는 왜 그런지 이해하지 못했습니다. 방금 시작했는데 훌륭한 경험 자바 스크립트가 없었어요. 할 수있는 초보자를 도와주세요.캔버스의 잘못된 base64
HTML :
<canvas id="canvas" width="400" height="300"></canvas> <textarea id="base64" rows="10" cols="80"></textarea> <img id="image">
JAVASCRIPT
function loadImages(sources, callback) { var images = {}; var loadedImages = 0; var numImages = 0; for(var src in sources) { numImages++; } for(var src in sources) { images[src] = new Image();
images[src].onload = function() {
if(++loadedImages >= numImages) {
callback(images);
} };
images[src].src = sources[src];}} var canvas = document.getElementById('canvas'); var context = canvas.getContext('2d'); var sources = { a: 'http://www.prairiedogmag.com/wp-content/uploads/2012/08/Cute-Animals-office-bat-4-200x300.jpg', b: 'http://worldnewspress.net/wp-content/uploads/2014/03/happiest-animals-all-time-18-200x300.jpg' }; loadImages(sources, function(images) { context.fillStyle = "red"; context.fillRect(0, 0, 400, 300); context.drawImage(images.a, 0, 0, 200, 300); context.drawImage(images.b, 201, 0, 200, 300); }); var url = document.getElementById('base64').value =document.getElementById('canvas').toDataURL(); document.getElementById('image').src = url;
'1.JPG', B '2.JPG'그는 여전히 그림이 내가 작업을 추가 한 – Snowman
을 .png를 비울 것 내 답례. 웹 서버를 사용하여 페이지 코드와 이미지를 전달하고 있습니까? 서버없이 로컬 파일 시스템에서 .html + .jpg를 실행하면 도메인 간 제한을 충족시키지 못하기 때문에 묻습니다. 제한 사항을 피하려면 제대로 구성된 서버가 필요합니다. 건배! – markE
thaks ... 그것의 작품. – Snowman