【问题标题】:Phonegap - Capture image to Photo Library and display in HTMLPhonegap - 将图像捕获到照片库并以 HTML 显示
【发布时间】:2012-01-23 22:46:40
【问题描述】:

我一直在使用下面的代码来抓取一张照片并在 html 中显示效果很好。

 function takePicture() {

    navigator.camera.getPicture(
        function(uri) {
            var img = document.getElementById('camera_image1');
            img.style.visibility = "visible";
            img.style.display = "block";
            img.src = uri;
            document.getElementById('camera_status').innerHTML = "Success";

        },

        { quality: 50, allowEdit: true, destinationType: navigator.camera.DestinationType.FILE_URI});
};

html 稍后

 <img style="width:144px;height:144px;" id="camera_image1" src="nophoto.jpg"/>

但是...这不会将图像保存到相机照片库中,所以我将线条调整为

  navigator.device.capture.captureImage

现在这会将图像捕获到库中,但是

  1. 不再显示在 html 中
  2. 不再允许我在相机“应用”中拍照后编辑照片

非常感谢任何指针。

PhoneGap 1.3

【问题讨论】:

    标签: cordova camera capture image-capture photolibrary


    【解决方案1】:

    当 captureImage 成功时,它会将一组 MediaFile 对象传递给您的回调(一个数组,因为它可能有多个结果,但您的示例只有一个)。 MediaFile 对象包含完整路径。您应该能够使用类似于上面的代码来指向文件 uri。

    关于你的第二个问题 - 不确定你在这里期望什么。 “图像捕捉”本身不是编辑。您将需要使用 JavaScript 构建自己的编辑器 - 这可能是矫枉过正。

    【讨论】:

    • 谢谢我看了 MediaFile 对象的东西,有点困惑。看起来更难。
    • 至于编辑,我的意思是当我使用 camera.getPicture 并设置 allowedit:true 时,我可以在“保存”之前调整照片。基本裁剪真的,我想保留这个功能。再次感谢
    • Camera API 提供了比 Capture API 更多的功能,这就是为什么您不能在使用 Capture 保存之前进行编辑。
    • 啊,那么我可以请我扭转我的问题,我怎样才能像上面那样使用相机 API,但也可以保存到设备库?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-22
    • 2020-11-28
    • 2014-03-01
    • 1970-01-01
    相关资源
    最近更新 更多