도움이 필요합니다. HTML5/Canvas를 통해 이미지의 base64를 가져 오는 것과 관련하여 iOS에 문제가있는 것으로 보입니다. 캔버스의 기본 높이/너비를 사용하거나 높이 및 너비를 하드 코딩하면 모든 것이 잘 작동합니다. 그러나 캔버스 높이/너비를 이미지 src의 너비/너비로 설정하면 이미지가 캔버스에로드되지 않으므로 이미지를 base64로 가져 오지 않습니다. 작동iOS HTML5 Canvas toDataURL
코드 :
function convertImageToBase64(imgUrl, callback) {
var canvas = document.createElement("canvas");
var context = canvas.getContext('2d');
// load image from data url
var imageObj= new Image();
imageObj.onload = function() {
var dataUrl;
context.drawImage(imageObj, 0, 0, canvas.width, canvas.height);
dataUrl = canvas.toDataURL("image/png");
callback.call(this, dataUrl);
canvas = null;
};
imageObj.src = imgUrl;
}
iOS에서 작동하지만, 안드로이드에 대한 작업을 수행하지 않습니다
코드 :
function convertImageToBase64(imgUrl, callback) {
var canvas = document.createElement("canvas");
var context = canvas.getContext('2d');
// load image from data url
var imageObj= new Image();
imageObj.onload = function() {
var dataUrl;
canvas.width = imageObj.width;
canvas.height = imageObj.height;
context.drawImage(imageObj, 0, 0, canvas.width, canvas.height);
dataUrl = canvas.toDataURL("image/png");
callback.call(this, dataUrl);
canvas = null;
};
imageObj.src = imgUrl;
}
우리는 기반 캔버스 높이/폭을 수립 할 수 있어야합니다 이미지 그 자체.
모든 도움이나 도움이 필요합니다.
부록 : 코드 스 니펫이 iPad Mini에서 작동하지만 iPhone 4 (iOS 7x 및 iPhone 5 w/iOS8)에 문제가 있습니다. iPad MINI에는 iOS 8이 있습니다. –
iOS에는 캔버스와 이미지에 대한 몇 가지 제한이 있습니다 (https://github.com/scottjehl/Device-Bugs/issues/49). 확인해 봐. – Pinal
@Pinal 감사합니다, 그게 내가 문제로 발견 한 것입니다. 나는 대답으로 코멘트를 받아 들일 수 없다 그러나 P –