cordova - 使用PhoneGap,如何获取从iPhone照片库中选择的照片的base64图像数据

标签 cordova camera base64 photolibrary

使用 PhoneGap(Cordova),我试图获取从照片库中选择的照片的 base64 图像数据。

我可以做到这一点......当照片是从相机拍摄时,在 Cordova 中使用以下代码片段。

    navigator.camera.getPicture(onSuccess, onFail, { quality: 50,
    destinationType: Camera.DestinationType.DATA_URL
 }); 

function onSuccess(imageData) {
    var image = document.getElementById('myImage');
    image.src = "data:image/jpeg;base64," + imageData;
}

function onFail(message) {
    alert('Failed because: ' + message);
}

但是,当从库中选择照片时,我应该怎么做才能获取 base64 图像数据?

最佳答案

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;
}

我在 PhoneGap 中没有解决方案。所以我只需要用户从他们的照片库中选择的图像的 base64 格式。所以我把那张图片放在 Canvas 上,然后 toDataUrl() 给了我非常格式:-)

关于cordova - 使用PhoneGap,如何获取从iPhone照片库中选择的照片的base64图像数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11188599/

相关文章:

ios - iPad : app cannot be installed at this time

android - 如何在 OpenCV Camera Preview 上画线?

Python 代码到 R

android - 错误 : Failed to deploy to device, 找不到设备 -cordova 使用 Visual Studio

android - JQuery 手机 : does data-transition ="slideback" or alike exist?

android - 数据库未存储在 Android 手机设备上

java - 如何在三星 Galaxy S4 的相机中拍摄图像后裁剪图像

Android:旋转位图一次或使用EXIF方向旋转imageview

javascript - 将 Base64 block 写入 writestream

javascript - 通过 toDataURL 将 Canvas 保存到图像失败