Я работаю над приложением VS2015 cordova. У меня есть проблема, когда я получаю изображение из галереи и искажаю его в base64string. Я получил base64string успешно, но когда я его отладил, я всегда получаю черное изображение. Вот мой код:Преобразование изображения в base64string в visualstudio apache cordova
function onPhotoURISuccess(imageURI) {
var largeImage = document.getElementById('smallImage');
largeImage.style.display = 'block';
largeImage.src = imageURI;
basestrg = encodeImageUri(imageURI);
}
function getPhoto(source) {
navigator.camera.getPicture(onPhotoURISuccess, onFail, {
destinationType: Camera.DestinationType.NATIVE_URI, mediaType: Camera.MediaType.Photo,
sourceType: source
});
}
function encodeImageUri(imageUri) {
var c = document.createElement('canvas');
var ctx = c.getContext("2d");
var img = new Image();
img.onload = function() {
c.width = this.width;
c.height = this.height;
ctx.drawImage(img, 0, 0);
};
img.src = imageUri;
var dataURL = c.toDataURL("image/jpeg");
return dataURL;
}
любые идеи
она работала нормально, но есть ли способ низкого разрешения изображения, когда я загрузить его из галереи? – prime
Интересный вопрос - ваша цель снизить разрешение при загрузке на другой сервер? Если да, то я вижу, что вы пытаетесь сделать с Canvas, и это похоже на решение, которое может работать, если вы можете пройти через черный ящик (я не уверен, как это сделать) –