如何在PhoneGap中创建自定义相机?

时间:2013-09-10 10:04:54

标签: cordova camera

我正在使用android和iOS应用程序来使用Phonegap和jQuery mobile。我想做一个类似的应用程序  这个应用程序:https://play.google.com/store/apps/details?id=jp.co.supersoftware.mangacamera&hl=vi

现在我遇到了自定义相机的问题。你帮我吗?或建议类似的解决方案。

感谢提前

2 个答案:

答案 0 :(得分:3)

我已经写了tutorial来了解如何为iOS构建自定义相机作为PhoneGap插件。它归结为JavaScript中的这样一个表达式:

cordova.exec(function(){
    console.log("success", arguments);
}, function(){
    console.log("failure", arguments);
}, "CustomCamera", "openCamera", []);

这实质上是在Objective-C中调用[CustomCamera openCamera:command]。您只需要CustomCamera类扩展CDVPlugin并实施openCamera方法。

iOS中的主要相机界面为UIImagePickerController。在openCamera方法中,您可以将UIImagePickerController作为模态视图打开。 UIImagePickerController有一个委托方法,在捕捉图片时调用。在这个委托方法中,您需要执行以下操作:

[self.commandDelegate
    sendPluginResult:[CDVPluginResult
        resultWithStatus:CDVCommandStatus_OK
        messageAsString:imagePath]
    callbackId:self.latestCommand.callbackId];

其中self.latestCommand是对command传递给openCamera的{​​{1}}参数的引用。这将调用cordova.exec中的成功函数(第一个参数)。

请注意,为了使其正常工作,您需要将以下内容添加到config.xml

<feature name="CustomCamera">
    <param name="ios-package" value="CustomCamera" />
</feature>

希望有所帮助!

答案 1 :(得分:0)

我希望我能正确理解你的问题,并希望自定义带有phonegap的相机插件。

在这种情况下,请按照Cordova Camera Docs上的说明操作。可选参数cameraOptions确实为您提供了一系列配置相机的可能性。

如果这些可能性不足以满足您的目的,您可能需要下载相机插件的来源并更改插件本身。这需要更多的时间和精力。但是,如果您愿意这样做,这些链接可能会对您有所帮助: