Articles of android camera

在android中使用phonegap时,来自gallery的图像以不同的方向显示

我正在使用Sencha Touch和Phonegap来显示用相机拍摄的照片。 通过cordova2.7.0在iphone上拍照时,图像以正确的方向绘制。 但是使用三星s3,图片将倾斜-90°(仅适用于肖像图像)。 navigator.camera.getPicture(onPhotoURISuccess, onFail, { quality: 25, destinationType: destinationType.FILE_URI, targetWidth: 120, targeHeight: 120, correctOrientation: true, sourceType: source }); 我用上面的代码拍照。 肖像图像以正确的方向从相机显示器拍摄,问题仅发生在从图库中拍摄的肖像图像。 有没有办法解决这个问题?

无法导入导入android.hardware.camera2类

我将opencv android库导入我的android studio,而Camera2Renderer类有很多编译器错误,因为android.hardware.camera2类无法导入。

android:相机不会在棉花糖中打开

所以,我有以下代码打开相机,捕获图像并将其保存在SDCard上。 public void getPhotoFromCamera() { Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); File mediaStorageDir = new File( Environment.getExternalStorageDirectory() + File.separator + getString(R.string.directory_name_corp_chat) + File.separator + getString(R.string.directory_name_temp) ); if (!mediaStorageDir.exists()) { mediaStorageDir.mkdirs(); } String timeStamp = new SimpleDateFormat(“yyyyMMdd_HHmmss”, Locale.getDefault()).format(new Date()); try { mediaFile = File.createTempFile( “TEMP_FULL_IMG_” + timeStamp, “.jpg”, mediaStorageDir ); takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(mediaFile)); startActivityForResult(takePictureIntent, PICK_FROM_CAMERA); } catch (IOException […]

从图库或相机中选取的图像中获取文件扩展名,作为字符串

我希望得到从图库加载或从相机中拾取的图像的图像扩展名(例如“jpg”,“png”,“bmp”ecc。)作为字符串。 我已经使用此表单中的方法从库中加载图像 private static final int SELECT_PICTURE_ACTIVITY_REQUEST_CODE = 0; …. private void selectPicture() { Intent intent = new Intent(Intent.ACTION_PICK); intent.setType(“image/*”); startActivityForResult(intent, SELECT_PICTURE_ACTIVITY_REQUEST_CODE); } …. @Override protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) { super.onActivityResult(requestCode, resultCode, imageReturnedIntent); switch (requestCode) { case SELECT_PICTURE_ACTIVITY_REQUEST_CODE: if (resultCode == RESULT_OK) { Uri selectedImage = imageReturnedIntent.getData(); String[] filePathColumn = {MediaStore.Images.Media.DATA}; […]

Android上的相机示例

我想写一个活动: 显示相机预览(取景器),并有一个“捕获”按钮。 按下“捕获”按钮时,拍摄照片并将其返回到调用活动(setResult()&finish())。 是否有适用于每个设备的 完整示例? 链接到一个简单的开源应用程序拍照将是理想的答案。 我到目前为止的研究: 这是一个常见的场景,有很多问题和教程。 主要有两种方法: 使用android.provider.MediaStore.ACTION_IMAGE_CAPTURE事件。 看到这个问题 直接使用Camera API。 请参阅此示例或此问题(包含大量参考) 。 方法1本来是完美的,但问题是每个设备上的意图实现不同。 在某些设备上它运行良好。 但是,在某些设备上,您可以拍照,但它永远不会返回到您的应用。 在某些设备上,启动意图时没有任何反应。 通常它还会将图像保存到SD卡,并且需要存在SD卡。 每个设备上的用户交互也不同。 方法2的问题是稳定性。 我尝试了一些例子,但我设法阻止相机在某些设备上工作(直到重启)并完全冻结另一台设备。 在其他设备上捕获工作,但预览保持黑色。 我会使用ZXing作为示例应用程序(我使用它很多),但它只使用预览(取景器),并且不拍任何照片。 我还发现,在某些设备上,ZXing在光照条件改变时没有自动调整白平衡,而原生相机应用程序正确地做到了(不确定是否可以修复)。 更新: 有一段时间我直接使用了相机API。 这提供了更多控制(自定义UI等),但我不建议任何人。 我会在90%的设备上工作,但每次都会发布一个新的设备,但会遇到不同的问题。 我遇到的一些问题: 处理自动对焦 处理闪光灯 配备前置摄像头,后置摄像头或两者的支持设备 每个设备都有不同的屏幕分辨率,预览分辨率(并不总是与屏幕分辨率匹配)和图像分辨率的组合。 所以一般来说,除非别无其他办法,否则我不建议去这条路线。 两年后,我通过自定义代码转储并切换回基于Intent的方法。 从那时起,我的麻烦就少了很多。 我过去在基于意图的方法中遇到的问题可能只是我自己的无能。 如果你真的需要走这条路,我听说如果你只支持Android 4.0+的设备会更容易。

Android按钮打开相机

我希望这不是一个重复的问题,但我正在制作一个应用程序,我想要一个按钮打开相机应用程序(单独的默认安卓相机)。 我怎么做到这一点? 我知道有一个function: intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE) 我需要使用它吗? 我如何从xml文件中调用该按钮? 另外,我是否需要担心存储该图片或video,还是默认的相机应用程序会处理这个问题?

Cordova Android Camera-提供非法参数exception

我在2个月前开始使用cordova Android编程。 一切都很好,主要是现在没有工作的相机。 但上周一些我的项目目录如何删除,我重新安装所有插件的cordova和编译项目,但现在它显示错误’非法参数exception’在相机上点击令人惊讶的事情是我没有更改单行代码,它也正常工作在其他开发者机器上。 cordova插件添加了使用相机插件安装的cordova-plugin-camera命令。 camera_app.js文件 var pictureSource; // picture source var destinationType; // sets the format of returned value // Wait for device API libraries to load // document.addEventListener(“deviceready”, onDeviceReady, false); // device APIs are available // function onDeviceReady() { pictureSource = navigator.camera.PictureSourceType; destinationType = navigator.camera.DestinationType; } // Called when a photo is successfully […]

相机:setDisplayOrientationfunction不适用于Android 2.3.6的三星Galaxy ACE

我试图创建一个简单的相机应用程序进行研究。 我阅读Android Camera Official Document然后开始编码。 所以我做了一些步骤让它发挥作用 1.在应用中添加了相机function所需的权限。 2.我的活动仅限于PORTRAIT模式。 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 3.增加了几个相机回调以使我的相机工作。 SurfaceHolder.Callback, Camera.PreviewCallback AutoFocusCallback ShutterCallback PictureCallback用于RAW图像数据 PictureCallback用于JPG图像数据 4.In surfaceChanged方法我正在自定义相机设置。 到目前为止,我已经为几乎所有Android设备工作了 LG 香料 三星 HTC 福邦 索尼 摩托罗拉 谷歌Nexus系列。 但随后我在Android版2.3.6的三星Galaxy ACE上进行了测试,发现Camera Display Preview已转为横向模式。 因此,在记录了log-cat / break points后,我发现下面的方法对于这个特定的模型不起作用 //This method is not working for Samsung Galaxy ACE camera.setDisplayOrientation(90); //or parameters.set(“orientation”, “portrait”); //or parameters.setRotation(90); 注意: 我在Google和SO上搜索了大量解决方案,但到目前为止还没有任何运气 Issus 在这里报道 android摄像头surfaceview方向 […]

访问被拒绝查找属性“camera.hal1.packagelist”

在服务中使用相机时,移动屏幕变得不可触摸(由透明窗口锁定)并且仅在出现错误之下 Access denied finding property “camera.hal1.packagelist” 将是什么原因及其解决方案? 请帮忙..

使用Cache Uri作为MediaStore.EXTRA_OUTPUT时,相机无法正常工作/保存

我试图从Fragment拍摄照片后获得完整的图像。 如果我使用文件中的Uri( Uri.fromFile(file) ),相机将在拍摄照片并点击“确定”按钮后退出(看起来无法写入Uri或谁知道什么) 。 使用’/data/data/com.package.bla/cache/img198346262jpg’forms的File String ,它不能正常工作(文件在那里,但它是空的,因为相机没有保存任何内容) 。 到目前为止我尝试了什么: 创建文件后删除文件,如本例所示 。 但是,相机退出后文件不存在。 添加外部存储READ权限,以防万一 所以我不知道为什么图像没有被保存并且已经花费/浪费了大量时间测试并弄清楚它为什么不起作用。 分段: private void launchCamera() { Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); File outputDir = getActivity().getCacheDir(); File file = null; try { file = File.createTempFile(“img”, “jpg”, outputDir); } catch (IOException e) { e.printStackTrace(); } if (file != null) { mImageUri = Uri.fromFile(file); […]