在嵌入iframe的phonegap相机捕获

时间:2014-04-23 17:17:24

标签: android iframe cordova camera embed

我拼命地在网上寻找:
 如何使用PhoneGap访问设备的相机并将其放入我的HTML中,例如在一个框架中,使用我在该HTML中创建的自定义按钮拍摄快照。因此,请勿使用设备的本机相机界面 大多数人都说PhoneGap是不可能的。
有人可以提供一个全面的分步教程,介绍如何在Eclipse for Android中进行操作,无论是PhoneGap还是其他方法。

非常感谢你

1 个答案:

答案 0 :(得分:2)

我在github上找到了这个自定义插件,同时搜索:

Cordova-CanvasCamera

设置安装:

  1. 将CanvasCamera.h和CanvasCamera.m复制到PhoneGap项目中的Plugins目录。
  2. 编辑config.xml并将CanvasCamera添加到插件列表中。
  3. 将CanvasCamera.js复制到您的www目录中,并在index.html中为其添加脚本标记。
  4. 如果尚未存在,请在项目的“构建阶段”选项卡中添加CoreVideo.framework库
  5. 以下是示例代码实现:

    <img>的配置:

    <img id="camera" width="352" height="288" />
    <script>
      CanvasCamera.capture = function(data) {
        document.getElementById('camera').src = data;
      }
    </script>
    

    <canvas>的配置:

    <canvas id="camera" width="352" height="288"></canvas>
    <script>
        var context = document.getElementById('camera').getContext("2d");
        var camImage = new Image();
        camImage.onload = function() {
          context.drawImage(camImage, 0, 0);
        };
        CanvasCamera.capture = function(data) {
          camImage.src = data;
        };
    </script>
    

    开始捕获:

    <script>
      document.addEventListener("deviceready", function() {
        CanvasCamera.start();
      });
    </script>