Tag: 相机

如何为所有Android设备创建通用的相机动作

在我的应用程序中,我想使用相机捕获图像并发送到服务器。 当用户打开我的应用程序的相机部分时,我想向他显示他正在使用的设备的默认相机。 目前以下是我用来捕捉图像的两行代码 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(intent, TAKE_RECEIPT); 当我在HTC设备中运行此代码时,在捕获图像后,它显示了带有完成和重拍按钮的图像预览。 当我点击完成后,它将移至上一个活动。 当我在moto设备中使用代码时,在捕获图像后,它显示了带有插入,重新拍摄和取消的图像预览。 当我点击完成后,它将移至上一个活动。 像这样,所有设备都会有所不同。 因此,当我点击任何设备的完成或插入或任何其他按钮正面按钮时 ,我想开始上传过程。 如何处理请帮帮我….

使用getExternalFilesDir保存Android不一致的图片

在我的应用程序中,我正在尝试拍照,保存它,然后使用Android开发人员教程中提供的代码将其添加到ImageView private static final int REQUEST_IMAGE_CAPTURE = 1; private String lastImagePath; //Create temporary image file using getExternalFilesDir() private File createImageFile() throws IOException{ String timestamp = new SimpleDateFormat(“yyyyMMdd_HHmmss”).format(new Date()); String imageFileName = “JPEG_” + timestamp + “_”; File storageDir = getActivity().getExternalFilesDir(Environment.DIRECTORY_PICTURES); File image = File.createTempFile(imageFileName, “.jpg”, storageDir); lastImagePath = image.getAbsolutePath(); return image; } //Start picture intent […]

预览回调问题

我正在做一个使用相机的Android应用程序。 我正在使用facedetection侦听器并且运行正常,但是当我尝试添加预览回调来执行某些进程任务时,面部检测会停止运行。 为什么?? 这是我的代码: @Override public void surfaceCreated(SurfaceHolder holder) { mCamera = StartCapture(); mCamera.setPreviewCallback(framesCallback); mCamera.setFaceDetectionListener(faceDetectionListener); } @Override public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { if (mCamera != null) { try { mCamera.setPreviewDisplay(holder); mCamera.startPreview(); mCamera.startFaceDetection(); } catch (IOException e) { e.printStackTrace(); } } } @Override public void surfaceDestroyed(SurfaceHolder holder) { mCamera.stopFaceDetection(); mCamera.stopPreview(); […]

Android:相机预览看起来不太好

我写了一个拍照的相机应用程序(活动),但显示相机实时图片的预览看起来并不好看,它有点高,像这样: 这是我的相机预览的代码: public class CameraPreview extends SurfaceView implements SurfaceHolder.Callback { private SurfaceHolder mHolder ; private Camera mCamera; public CameraPreview(Context context , Camera camera) { super(context) ; mCamera = camera ; mHolder = getHolder(); mHolder.addCallback(this); mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); } public void surfaceCreated(SurfaceHolder holder) { try { mCamera.setPreviewDisplay(holder); mCamera.startPreview(); } catch(IOException e) { Log.d(TAG,”Camera Preview Failed!: “+e.getMessage()); } } […]

如何创建自定义ColorEffect

我只想知道如何创建自定义ColorEffect。 我们可以设置一些效果 EFFECT_AQUA EFFECT_BLACKBOARD EFFECT_MONO EFFECT_NEGATIVE EFFECT_NONE EFFECT_POSTERIZE EFFECT_SEPIA EFFECT_SOLARIZE EFFECT_WHITEBOARD 我想创建自己的Color效果。 Camera.Parameters parameters = camera.getParameters(); parameters.setColorEffect(Camera.Parameters.EFFECT_AQUA); //like EFFECT_REDDISH camera.setParameters(parameters);

Android肖像锁定相机预览

我已经像在Android的ApiDemos应用程序中一样实现了Camera Preview。 问题是我想要我的活动,预览被显示为锁定为肖像。 所以我在清单中将screenOrientation设置为portrait。 ‘getOptimalPreviewSize’方法为预览返回相反的值,这意味着,当需要返回480×720时,该方法返回720×480,并且我的活动的FrameLayout中心有一个小预览(这不是我想要的,我希望它匹配父项(是的,布局用“match_parent”定义)。 我试过了: setDisplayOrientation(90); parameters.set(“orientation”,“portrait”); parameters.set(“rotation”,“90”); 似乎没有任何帮助。 为什么我不能以纵向模式显示相机的预览? 锁定。 谢谢

Android Camera API – 强制关闭不会释放相机资源

因此,在开发自定义相机应用程序时,我已经在极少数情况下和各种设备上实现了如果应用程序必须强行关闭,它并不总是释放相机资源。 有没有办法找到/检测持有此资源并杀死它的进程? 还是其他一些技巧? 复制相当困难(对我来说无论如何),但最终必须重新启动设备。 谢谢!

Android Camera.takePicture失败了

作为一个学习练习,我正在编写一个安全应用程序,当发生任意事件时,需要打开相机,拍照并关闭相机,而不必担心闪光,对焦或显示预习。 我跟着在线演示并制作了一个可以拍照的工作应用程序,但它使用预览和所有这些。 所以我开始努力让它在没有预览的情况下工作。 无论如何,我不断得到’takePicture failed’exception,而且我没有任何世俗的想法。 我希望有更多使用Camera API经验的人可以看看并指出我的解决方案。 以下是我的相关文件。 我正在使用最新的Android Studio并在Galaxy S4上进行测试。 [MainActivity.java] package com.g5digital.cam2; import android.content.pm.PackageManager; import android.hardware.Camera; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.LinearLayout; import android.widget.Toast; import java.io.IOException; public class MainActivity extends ActionBarActivity implements View.OnClickListener { private static final String TAG = “MainActivity”; private Button […]

如何强制Android相机以纵向模式显示,或者让我进行旋转

我是新来的,所以请你好! 我几乎看到了与此相关的所有其他问题并尝试了最多,但我完全感到沮丧。 我只想让我的Android手机以纵向模式显示相机,而不是风景。 我只是修改opencv提供的ImageManipulations示例。 我正在使用opencv 3.01,Android sdk 23版,Android Studio 2.0和带有Android版6.0.1的Nexus 5手机。 这是2016年4月28日,这几乎是所有东西的最新稳定版本。 我已经在AndroidManifest.xml文件中强制应用程序进入纵向模式: android:screenOrientation=”portrait” 并且整个应用程序在纵向模式下正确显示,但显示的摄像机图像旋转90度。 换句话说,如果您将头部向左倾斜90度,您将看到合适的图像。 所以我需要将图像向右旋转。 我尝试使用opencv Tutorial3代码和setDisplayOrientation(90): public void setResolution(Size resolution) { disconnectCamera(); mMaxHeight = resolution.height; mMaxWidth = resolution.width; // mCamera.setDisplayOrientation(90); //* Crashes if placed here connectCamera(getWidth(), getHeight()); mCamera.setDisplayOrientation(90); //* Doesn’t crash if here, but doesn’t work either } 那不起作用。 在任何情况下,本教程都使用在Android版本21中弃用的“camera”类,并替换为“camera2”类。 我没有更进一步,因为我想使用最新的API,但也许camera2中的东西可以工作? 有些人发布了使用“转置”和“翻转”function来旋转图像,我尝试在onCameraFrame方法中做了很多这样的事情: […]

Libgdx第一人称相机控制

我刚刚开始在libgdx中使用3D进行游戏。 我已经知道如何绘制基本Model ,我CameraController用CameraController玩CameraController 。 现在我想创建一个FirstPersonCamera或FirstPersonCameraController 。 我考虑过扩展PerspectiveCamera并MyMovingObject target添加一个MyMovingObject target 。 MyMovingObject将保持x, y, z position ,其中y是一个常数值,因为此刻我无法up/down移动。 所以我的动作基本上是2D。 MyMovingObject还会存储其moving direction / xSpeed, zSpeed所需的left/right rotation 。 但是Player也应该能够向上和向下查看,而MyMovingObject并不需要这种向上/向下旋转,因为它只会改变视图而不会改变其他属性。 所以我不确定我是否走正确的路。 我希望能够通过使用W,A,S,D向前,向左,向右,向后W,A,S,D并使用鼠标向左旋转。 此外,我想通过使用鼠标来上下打量,就像大多数First Person游戏一样。 我应该使用另一种方式,而不是通过扩展PerspectiveCamera创建我自己的相机? 或者这种方法是否良好,我只需要在MyMovingObject存储向上/向下旋转,如果只需要视图? 或者用W,A,S,D and mouse控制相机并根据相机的位置和旋转更新MyMovingObject的位置会更好吗? 我希望你明白我的意思。 解释它似乎有点复杂(至少对我而言)。 编辑:我现在使用Vector3 direction , Vector3 position和Vector3 size为我的NPC和播放器。 我通过这样做来计算速度: xSpeed = direction.x / (direction.x + direction.z) * speed; zSpeed也一样。 通过这样做,我“过滤”了它的y值,我只得到x和y的百分比。 唯一的问题是,当我直视x和z为0 。 […]