拍照并显示在视图上

Posted

技术标签:

【中文标题】拍照并显示在视图上【英文标题】:taking a picture and displaying on the view 【发布时间】:2012-05-14 17:52:56 【问题描述】:

我有一个按钮,当用户点击它时,相机打开用户应该可以拍照,然后显示在视图上。

当用户点击按钮时,会执行以下方法;

imageButtonClicked: function () 
// This is where I should be calling the camera, taking the pic and displaying on the view

    我找到了解释如何拍照的教程。但我不明白应该粘贴哪些代码才能使相机功能正常工作。有人可以帮我吗? 拍照后如何在视图上显示?

【问题讨论】:

【参考方案1】:

在新的 ios 6 中 ::

iOS 中新推出的 Mobile Safari 现在支持“文件”输入字段。您的输入字段现在将是 ::

对于单个文件

<input type=file accept="image/*">
<input type=file accept="video/*">

对于多个文件

<input type=file multiple>

这将打开 iOS 设备的照片库,并允许您选择多张照片。这是它的样子

【讨论】:

仅供其他人使用,phonegap/cordova 不支持此功能【参考方案2】:

您可以使用Ext.device.Camera's capture() 或Phonegap Camera API 进行操作

例如使用 Phonegap 相机 API

您可以在 imageButtonClicked : function() 方法中编写以下代码。

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

function onSuccess(imageData) 
    var image = Ext.getCmp('myImageId');
    image.setSrc("data:image/jpeg;base64," + imageData);


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

.....
.....

【讨论】:

看起来不错,但我建议使用 FILE_URI,因为使用 DATA_URL 会导致使用高像素相机拍照的手机出现内存不足错误。 谢谢,我看到图片在这里image.setSrc,但是我怎么能把它显示在视图上呢? 您好,是否可以在 ios phonegap 中将相机嵌入到 div 中?

以上是关于拍照并显示在视图上的主要内容,如果未能解决你的问题,请参考以下文章

用相机拍照并在图像视图中查看

让用户拍照并在表格视图中使用它们的最佳做法是啥?

如何显示来自相机的捕获图像并从文件路径显示在图像视图中? [复制]

保存图片并在图像视图中加载

为啥拍照后图像按钮隐藏在表面视图后面? [关闭]

在可移动的图像视图上显示视图