【问题标题】:How to take in-app photo with PhoneGap?如何使用 PhoneGap 拍摄应用内照片?
【发布时间】:2016-10-02 13:13:24
【问题描述】:

我注意到某些应用程序(例如,Colorfy)允许您在应用程序内拍照,然后可以进一步编辑。有没有办法使用 PhoneGap 应用程序来做到这一点?

我见过的所有PhoneGap示例都有你访问navigator.camera.getPicture,这很好,只是它需要你跳到相机应用程序来拍照,确认你刚刚拍的照片等等。我真的很想能够跳过所有这些并直接在应用程序中拍照,但我不确定是否可能。

如果可能的话,请告诉我怎么做。谢谢。

【问题讨论】:

    标签: android ios cordova camera phonegap-plugins


    【解决方案1】:

    您必须创建一个自定义插件才能使其正常工作。

    流程如下:

    • 从网页调用 PhoneGap 插件

    • 插件将打开相机视图

    • 点击图片后,它会以 base-64 编码

    • 使用插件回调将此 base-64 编码图像发送到网页。

    以下代码可用于对图像进行编码:

    UIImage* image= <Image received from the camera>;
    NSString *base64EncodedImage = [Base64 encode:UIImageJPEGRepresentation(image, 0.5)];
    

    编辑:

    一些示例插件:

    https://github.com/cordova-plugin-camera-preview/cordova-plugin-camera-preview

    https://github.com/donaldp24/CanvasCameraPlugin

    【讨论】:

    • atulkhatri,感谢您的回复。你是说你上面推荐的插件能够在不接管界面的情况下在后台打开相机视图吗?此外,您是否必须不断轮询相机视图以获取显示在其上的当前图像,然后不断地对该图像进行编码并在应用程序中显示它?我只是想确保我理解您正确推荐的内容。谢谢。
    • 不,您不必不断地轮询相机。您只需要使用您的插件及其插件的职责以原生方式打开相机并在其回调中将图像发送到您的网页。 BTW 更新了我的答案并添加了一些现成的插件供您使用。
    • 感谢您澄清这一点。这些链接看起来也很有希望。谢谢。
    • 没问题,很高兴它有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多