이미지 blob을 캔버스 요소에 렌더링하는 방법은 무엇입니까?캔버스 요소에 blob을 렌더링하는 방법은 무엇입니까?
지금까지 내가, 이미지를 캡처 한방울로 변환 결국 in this codepen, it just returns the default black image.
var canvas = document.getElementById('canvas');
var input = document.getElementById('input');
var ctx = canvas.getContext('2d');
var photo;
function picToBlob() {
var file = input.files[0];
canvas.toBlob(function(blob) {
var newImg = document.createElement("img"),
url = URL.createObjectURL(blob);
newImg.onload = function() {
ctx.drawImage(this, 0, 0);
photo = blob;
URL.revokeObjectURL(url);
};
newImg.src = url;
}, file.type, 0.5);
canvas.renderImage(photo);
}
HTMLCanvasElement.prototype.renderImage = function(blob) {
var canvas = this;
var ctx = canvas.getContext('2d');
var img = new Image();
img.onload = function() {
ctx.drawImage(img, 0, 0)
}
img.src = URL.createObjectURL(blob);
}
input.addEventListener('change', picToBlob, false);
입니다 있는 코드 조각의 단순화 작업 버전입니다 btw) 왜 투명한 이미지를 출력하는지 궁금합니다. 캔버스에 내보낼 때 캔버스에 아무것도 그려 넣지 않았기 때문이라고 말할 수 있습니다. 추신 : 귀하의'renderImage', 또한 URL 개체를 취소하는 것을 잊지 마세요, 당신은 아마 캔버스의 크기를 조정해야합니다. – Kaiido